/*
Theme Name: Lestin
Author:
Author URI:
Description: Lestin- Directory Listing HTML Template<
Version: 1.0.0
*/
/*CSS Table Of Content Ends Here*/
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');

:root {
    --body: #15133F;
    --black: #11161f;
    --black-pure: #000;
    --white: #fff;
    --theme: #171452;
    --theme2: #5A569F;
    --theme3: #C8B4E6;
    --theme4: #54689E;
    --header: #11161f;
    --header2: #161616;
    --cmn-border: #838383;
    --ratting: #febb02;
    --text: #787878;
    --text2: #f5f5f5;
    --text3: #e2dfeb;
    --indef: #d5d5d5;
    --border: #e2dfeb;
    --bg: #e2dfeb;
    --box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.06);
    --hero-bg: linear-gradient(to bottom right, rgba(23, 20, 82, 1) 0%, rgba(52, 61, 146, 0.8) 75%, rgba(195, 195, 211, 1) 100%);
    --hero-bg-gradient: linear-gradient(to bottom right, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 0.8) 50%, rgba(23, 20, 82, 0) 100%);
    --btn-bg-theme: linear-gradient(to bottom, #171452 0%, #5A569F 100%);
    --text-bg-theme: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(76, 80, 199, 1) 100%);
    --theme4-bg-gradient: linear-gradient(to bottom, #171452 0%, #4660A6 100%);
    --theme4-bg-gradient-2: linear-gradient(to bottom, #15133F 0%, #54689E 100%);
    --sidebar-widget-gradient: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 47%);
}

.black-clr {
    color: var(--black);
}

.black-bg {
    background: var(--black);
}

.black-pure-clr {
    color: var(--black-pure);
}

.black-pure-bg {
    background: var(--black-pure);
}

.white-clr {
    color: var(--white);
}

.white-bg {
    background: var(--white);
}

.theme-clr {
    color: var(--theme);
}

.theme-bg {
    background: var(--theme);
}

.theme2-clr {
    color: var(--theme2);
}

.theme2-bg {
    background: var(--theme2);
}

.theme3-clr {
    color: var(--theme3);
}

.theme3-bg {
    background: var(--theme3);
}

.ratting-clr {
    color: var(--ratting);
}

.ratting-bg {
    background: var(--ratting);
}

.indef-clr {
    color: var(--indef);
}

.indef-bg {
    background: var(--indef);
}

.text-clr {
    color: var(--text);
}

.text-bg {
    background: var(--text);
}

.text2-clr {
    color: var(--text2);
}

.text2-bg {
    background: var(--text2);
}

.bg-clr {
    color: var(--bg);
}

.bg-bg {
    background: var(--bg);
}

.border-clr {
    color: var(--border);
}

.border-bg {
    background: var(--border);
}

.cus-border {
    border: 1px solid var(--border);
}

.border-bg {
    background: var(--border);
}

.cmn-border-clr {
    color: var(--cmn-border);
}

.cmn-border {
    border: 1px solid var(--cmn-border);
}

.cmn-border-bg {
    background: var(--cmn-border);
}

.fs-12 {
    font-size: 12px;
}

.fs-13 {
    font-size: 13px;
}

.fs-14 {
    font-size: 14px;
    line-height: 20px;
}

.fs-16 {
    font-size: 16px;
}

.fs-18 {
    font-size: 18px;
}

.fw-500 {
    font-weight: 500;
}

.theme-btn {
    position: relative;
    z-index: 2;
    vertical-align: middle;
    display: inline-flex;
    gap: 15px;
    border: none;
    text-align: center;
    /* background-color: var(--theme); */
    background-color: #6c97b8;
    color: var(--white);
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1;
    padding: 19px 28px;
    overflow: hidden;
    align-items: center;
    /* font-family: "Manrope", sans-serif; */
}

.theme-btn.alt-btn {
    background-color: var(--black);
}

.theme-btn.alt-btn:hover {
    color: var(--black);
}

.theme-btn.alt-btn:hover::after,
.theme-btn.alt-btn:hover::before {
    background-color: var(--white);
}

.theme-btn.alt-btn2 {
    background-color: var(--black);
}

.theme-btn.alt-btn2:hover {
    color: var(--black);
}

.theme-btn.alt-btn2:hover::after,
.theme-btn.alt-btn2:hover::before {
    background-color: var(--theme);
}

.theme-btn.alt-btn03 {
    transition: all 0.4s;
}

.theme-btn.alt-btn03:hover {
    color: var(--black);
}

.theme-btn.alt-btn03:hover::after,
.theme-btn.alt-btn03:hover::before {
    background-color: var(--white);
}

.theme-btn::after,
.theme-btn::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    transform: translate(-50%, -50%);
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--header);
    transition: 1s ease;
}

.theme-btn::before {
    top: -2em;
    left: -2em;
}

.theme-btn::after {
    left: calc(100% + 2em);
    top: calc(100% + 2em);
}

.theme-btn:hover {
    color: var(--white);
    box-shadow: none;
}

.theme-btn:hover::after,
.theme-btn:hover::before {
    height: 410px;
    width: 410px;
}

.theme-btn.header-bg {
    background-color: var(--header);
}

.theme-btn.header-bg::after,
.theme-btn.header-bg::before {
    background-color: var(--theme);
}

.theme-btn.bg-white {
    background-color: var(--white);
    color: var(--header);
}

.theme-btn.bg-white::before,
.theme-btn.bg-white::after {
    background-color: var(--header);
}

.theme-btn.bg-white:hover {
    color: var(--white);
}

@media (max-width: 575px) {
    .theme-btn {
        padding: 18px 30px;
        font-size: 14px;
    }
}

.link-btn {
    display: inline-block;
    color: var(--header);
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    font-family: "Expose", sans-serif;
    border-bottom: 2px solid var(--header);
}

.link-btn:hover {
    border-bottom: 2px solid var(--theme);
    color: var(--theme);
}

/* --------------------------------------------
    Template Default Fonts & Fonts Styles
 ---------------------------------------------- */
body {
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    color: var(--text);
    background-color: var(--body);
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

button {
    border: none;
    background-color: transparent;
    padding: 0;
}

input:focus {
    color: var(--white);
    outline: none;
}

input {
    color: var(--white);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    margin: 0px;
    font-style: normal;
    padding: 0;
    color: var(--header);
    transition: all 0.4s ease-in-out;
}

h1 {
    font-size: 96px;
    font-weight: 900;
    line-height: 100%;
}

h2 {
    font-size: 50px;
    line-height: 120%;
    font-weight: 800;
    letter-spacing: -0.64px;
}

@media (max-width: 1199px) {
    h2 {
        font-size: 44px;
    }
}

@media (max-width: 991px) {
    h2 {
        font-size: 42px;
    }
}

@media (max-width: 767px) {
    h2 {
        font-size: 36px;
    }
}

@media (max-width: 575px) {
    h2 {
        font-size: 32px;
    }
}

h3 {
    font-size: 32px;
    font-weight: 900;
    line-height: 115%;
}

@media (max-width: 1199px) {
    h3 {
        font-size: 29px;
    }
}

@media (max-width: 991px) {
    h3 {
        font-size: 26px;
    }
}

@media (max-width: 767px) {
    h3 {
        font-size: 24px;
    }
}

h4 {
    font-size: 24px;
    font-weight: 900;
    line-height: 115%;
}

@media (max-width: 991px) {
    h4 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    h4 {
        font-size: 20px;
    }
}

h5 {
    font-size: 20px;
    font-weight: 700;
}

@media (max-width: 991px) {
    h5 {
        font-size: 19px;
    }
}

@media (max-width: 767px) {
    h5 {
        font-size: 18px;
    }
}

h6 {
    font-size: 18px;
    font-weight: 600;
    line-height: 145%;
}

a {
    text-decoration: none;
    outline: none !important;
    cursor: pointer;
    color: var(--header);
    transition: all 0.4s ease-in-out;
}

p {
    margin: 0px;
    transition: all 0.4s ease-in-out;
}

span {
    margin: 0px;
    transition: all 0.4s ease-in-out;
}

.d-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-section {
    background: url(../img/app/app-bg.jpg) no-repeat center center;
    background-size: cover;
}

.app-section .app-content p {
    font-size: 21px;
    font-weight: 500;
    color: var(--text);
}

.app-section .app-content button {
    max-width: 230px;
}

.app-section .app-content button img {
    width: 100%;
}

.app-section .app-screen-thumb {
    position: absolute;
    right: 30%;
    bottom: 0;
}

.app-section .app-ele {
    position: absolute;
    right: 0;
    top: 0;
    animation: updown 4s linear infinite;
}

@media (max-width: 1399px) {
    .app-section .app-screen-thumb {
        position: absolute;
        right: 16%;
        bottom: 0;
    }
}

@media (max-width: 1199px) {
    .app-section .app-screen-thumb {
        position: absolute;
        right: 9%;
        bottom: 0;
    }

    .app-section .app-ele svg {
        width: 200px;
        height: 300px;
    }
}

@media (max-width: 991px) {
    .app-section .app-content p {
        font-size: 18px;
    }

    .app-section .app-content button {
        max-width: 160px;
    }

    .app-section .app-content button img {
        width: 100%;
    }

    .app-section .app-screen-thumb {
        display: none;
    }

    .app-section .app-ele svg {
        width: 100px;
        height: 300px;
    }
}

.app-store-btn button {
    width: 233px;
    height: 73px;
    transition: all 0.4s;
}

.app-store-btn button img {
    max-width: 155px;
    object-fit: contain;
    transition: all 0.4s;
}

.app-store-btn button:first-child {
    background: var(--theme);
}

.app-store-btn button:first-child:hover {
    background: var(--white);
}

.app-store-btn button:first-child:hover img {
    filter: brightness(0);
}

.app-store-btn button:last-child {
    background: var(--white);
}

.app-store-btn button:last-child:hover {
    background: var(--theme);
}

.app-store-btn button:last-child:hover img {
    filter: brightness(25);
}

@media (max-width: 991px) {
    .app-store-btn button {
        width: 233px;
        height: 63px;
        padding: 10px 16px;
    }
}

.user-items {
    background: var(--white);
    padding: 40px 40px;
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.1);
    transition: all 0.4s;
}

.user-items .user-icon {
    position: absolute;
    right: 0;
    bottom: 0;
}

.user-items.active,
.user-items:hover {
    background: var(--black);
}

.user-items.active .user-icon,
.user-items:hover .user-icon {
    filter: brightness(25);
}

.user-items.active p,
.user-items:hover p {
    color: var(--white);
}

.user-items.active h5,
.user-items:hover h5 {
    color: var(--white);
}

@media (max-width: 1399px) {
    .user-items {
        padding: 30px 30px;
    }
}

.anyting-section {
    background: url(../img/testimonial/aniting-bg.png) no-repeat center center;
    background-size: cover;
    padding: 80px 0;
}

.anyting-content {
    display: flex;
    align-items: center;
    gap: 100px;
}

.anyting-content p {
    font-size: 20px;
    color: var(--white);
}

.anyting-content .icon-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: circles 20s linear infinite;
}

@media (max-width: 1399px) {
    .anyting-content {
        gap: 60px;
    }
}

@media (max-width: 991px) {
    .anyting-content {
        display: grid;
        flex-wrap: wrap;
        gap: 70px;
        text-align: center;
    }
}

@keyframes circles {
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.anyting-thumb-area {
    max-width: 630px;
    position: absolute;
    top: -100px;
    left: 8%;
}

.anyting-thumb-area img {
    width: 100%;
}

@media (max-width: 1899px) {
    .anyting-thumb-area {
        left: 1px;
    }
}

@media (max-width: 1399px) {
    .anyting-thumb-area {
        max-width: 100%;
        width: 100%;
        position: initial;
    }

    .anyting-thumb-area img {
        width: 100%;
    }
}

.about-thumb-main {
    display: flex;
    gap: 24px;
}

.about-thumb-main .thumb {
    width: 100%;
}

.about-thumb-main .thumb img {
    width: 100%;
}

.about-thumb-main .thumb2 {
    margin-top: -50px;
}

@media (max-width: 767px) {
    .about-thumb-main {
        gap: 14px;
    }

    .about-thumb-main .thumb2 {
        margin-top: 0px;
    }
}

.progress-outer {
    position: relative;
    margin-bottom: 40px;
}

.progress-outer .progress-circle {
    position: absolute;
    left: calc(25% - 31px);
    top: 35px;
    background: #161616;
    color: #fff;
    line-height: 1;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    z-index: 9;
    border: 1px solid var(--white);
}

.progress-outer .progress-stacked {
    height: 14px;
    background-color: #ddd;
    border-radius: 15px;
}

.progress-outer .progress-bar {
    background-color: var(--theme);
    position: relative;
}

.progress-outer .progress-text-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    margin-top: 15px;
}

.progress-outer .progress-text-item h6 {
    font-size: 16px;
    font-weight: 700;
}

.progress-outer .progress-text-item p {
    font-size: 16px;
}

.about-section-inner .about-thumb-main .thumb.style-2 {
    margin-top: 50px;
}

@media (max-width: 1199px) {
    .about-section-inner .about-thumb-main .thumb.style-2 {
        margin-top: 0;
    }
}

@-webkit-keyframes rippleOne {
    70% {
        -webkit-box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
        box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
        box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
    }
}

@keyframes rippleOne {
    70% {
        -webkit-box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
        box-shadow: 0 0 0 40px rgba(244, 68, 56, 0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
        box-shadow: 0 0 0 0 rgba(244, 68, 56, 0);
    }
}

@keyframes cir36 {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes rounded {
    50% {
        transform: rotate(15deg);
    }
}

@-webkit-keyframes spinner {
    to {
        -webkit-transform: rotateZ(360deg);
        transform: rotateZ(360deg);
    }
}

@keyframes spinner {
    to {
        -webkit-transform: rotateZ(360deg);
        transform: rotateZ(360deg);
    }
}

@-webkit-keyframes letters-loading {

    0%,
    75%,
    100% {
        opacity: 0;
        transform: rotateY(-90deg);
    }

    25%,
    50% {
        opacity: 1;
        transform: rotateY(0deg);
    }
}

@keyframes letters-loading {

    0%,
    75%,
    100% {
        opacity: 0;
        transform: rotateY(-90deg);
    }

    25%,
    50% {
        opacity: 1;
        transform: rotateY(0deg);
    }
}

@keyframes loaderspin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes tpswing {
    0% {
        -webkit-transform: rotate(20deg);
        -ms-transform: rotate(20deg);
        transform: rotate(20deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

@keyframes width {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

@-webkit-keyframes width {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

@-webkit-keyframes loaderspin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes loaderpulse {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

@keyframes rounded {
    50% {
        transform: rotate(20deg);
    }
}

@keyframes cir36 {
    100% {
        transform: rotate(360deg);
    }
}

.float-bob-y {
    -webkit-animation-name: float-bob-y;
    animation-name: float-bob-y;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}

@-webkit-keyframes float-bob-y {
    0% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }

    50% {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }

    100% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }
}

@keyframes float-bob-y {
    0% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }

    50% {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }

    100% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }
}

@keyframes shine {
    from {
        -webkit-mask-position: 150%;
    }

    to {
        -webkit-mask-position: -50%;
    }
}

@keyframes bounce-x {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    50% {
        -webkit-transform: translateX(30px);
        transform: translateX(30px);
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.bounce-x {
    -webkit-animation: bounce-x 7s infinite linear;
    animation: bounce-x 7s infinite linear;
}

@keyframes animate-positive {
    0% {
        width: 0;
    }
}

@keyframes updown {
    50% {
        transform: translateY(10px);
    }
}

@keyframes leftr {
    50% {
        transform: translateX(7px);
    }
}

@keyframes updowns {
    50% {
        margin: 5px 0;
    }
}

.tpfadeInLeft {
    opacity: 0;
    /* Start invisible */
    animation: tpfadeInLeft 2s ease-out forwards;
    /* 2 seconds duration, ease-out effect */
}

@keyframes tpfadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-20px);
        /* Start slightly to the left */
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        /* End at original position */
    }
}

.tpSkillInLeft {
    opacity: 0;
    /* Start invisible */
    animation: tpSkillInLeft 2s ease-out forwards;
    /* 2 seconds duration, ease-out effect */
}

@keyframes tpSkillInLeft {
    0% {
        opacity: 0;
        transform: translateX(-300px);
        /* Start slightly to the left */
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        /* End at original position */
    }
}

.brand-slider {
    border-bottom: 1px solid var(--border);
    padding-bottom: 45px;
}

.swiper-3d-section {
    position: relative;
    z-index: 1;
}

.swiper-3d-section .container {
    max-width: 1500px;
    margin: 0 auto;
}

.swiper-3d-section .card3d-content {
    position: absolute;
    left: 50%;
    width: 100%;
    text-align: center;
    opacity: 0;
}

.swiper-3d-section .card3d-content span {
    margin: 0 auto;
}

.swiper-3d-section .slide-cmn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.swiper-3d-section .swiper3d-btn-grp {
    width: 100%;
    justify-content: space-between;
    z-index: 9;
}

.swiper-3d-section .swiper3d-btn-grp .swiper-3d-button-prev {
    position: absolute;
    left: 10%;
    top: 56%;
    z-index: 9;
}

.swiper-3d-section .swiper3d-btn-grp .swiper-3d-button-next {
    position: absolute;
    right: 10%;
    top: 56%;
    z-index: 9;
}

@media (max-width: 1399px) {
    .swiper-3d-section .swiper3d-btn-grp {
        width: initial;
        justify-content: center;
        z-index: 9;
        margin-top: 30px;
    }

    .swiper-3d-section .swiper3d-btn-grp .swiper-3d-button-prev {
        position: initial;
    }

    .swiper-3d-section .swiper3d-btn-grp .swiper-3d-button-next {
        position: initial;
    }
}

.swiper-3d-section .swiper-3d-container {
    width: 100%;
}

.swiper-3d-section .swiper-3d-container .swiper-slide {
    width: 320px;
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d {
    position: relative;
    width: 320px;
    transition: all 0.5s ease;
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d .img-area {
    border-radius: inherit;
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d .img-area img {
    border-radius: inherit;
    transition: all 0.5s ease;
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d .card-date {
    border-radius: 12px;
    background: rgba(var(--n1), 0.45);
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d .card-status {
    border-radius: 46px;
    border: 1px solid rgb(var(--s1));
    background: rgb(var(--n4));
    bottom: -10px;
}

.swiper-3d-section .swiper-3d-container .swiper-slide .card-3d .card-info {
    border-radius: 12px;
    background: rgba(var(--n3), 0.4);
}

.swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d {
    opacity: 1;
    z-index: 1;
    position: relative;
}

.swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d .card3d-content {
    position: absolute;
    bottom: 30px;
    left: 40px;
    width: 100%;
    text-align: center;
    z-index: 1;
    opacity: 1;
}

.swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d .card3d-content span {
    margin: 0 auto;
}

.swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d::before {
    position: absolute;
    bottom: -220px;
    left: 0;
    content: "";
    width: 400px;
    border-radius: 50%;
    height: 400px;
    background: var(--theme);
}

.swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d::after {
    position: absolute;
    bottom: -220px;
    left: 0;
    width: 400px;
    height: 400px;
    content: "";
    background: rgba(5, 5, 5, 0.486);
    border-radius: 50%;
}

@media (max-width: 575px) {
    .swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d {
        width: 100%;
        overflow: hidden;
    }

    .swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d .card3d-content {
        left: 50%;
        transform: translateX(-50%);
    }

    .swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d img {
        width: 100%;
    }

    .swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d::before {
        bottom: -220px;
        left: 50%;
        transform: translateX(-50%);
        width: 300px;
        height: 300px;
    }

    .swiper-3d-section .swiper-3d-container .swiper-slide-active .card-3d::after {
        bottom: -220px;
        left: 50%;
        transform: translateX(-50%);
        width: 300px;
        height: 300px;
    }
}

.swiper-3d-section .swiper-btn-area .swiper-3d-button-prev,
.swiper-3d-section .swiper-btn-area .swiper-3d-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10%;
    z-index: 10;
}

.swiper-3d-section .swiper-btn-area .swiper-3d-button-next {
    left: unset;
    right: 10%;
}

.contact-section .contact-information {
    border-radius: 5px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.1);
    padding: 40px;
}

.contact-section .contact-information .contact-info-item .icon {
    width: 73px;
    height: 73px;
    border-radius: 5px;
    transition: all 0.4s;
}

.contact-section .contact-information .contact-info-item .icon i {
    font-size: 19px;
    color: var(--white);
    transition: all 0.4s;
}

.contact-section .contact-information .contact-info-item .icon:hover {
    background: var(--black);
}

.contact-section .contact-information .contact-info-item .icon:hover i {
    color: var(--white);
}

.contact-section .contact-information .contact-info-item .cont P,
.contact-section .contact-information .contact-info-item .cont a {
    font-size: 20px;
}

.contact-section .contact-information .contact-info-item .cont P:hover,
.contact-section .contact-information .contact-info-item .cont a:hover {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .contact-section .contact-information {
        padding: 24px 22px;
    }

    .contact-section .contact-information .contact-info-item .icon {
        width: 53px;
        height: 53px;
        border-radius: 5px;
    }

    .contact-section .contact-information .contact-info-item .icon i {
        font-size: 19px;
        color: var(--white);
    }

    .contact-section .contact-information .contact-info-item .cont P,
    .contact-section .contact-information .contact-info-item .cont a {
        font-size: 17px;
    }
}

.contact-section iframe {
    width: 100%;
    height: 458px;
    margin-bottom: -10px;
}

.contact-section form input,
.contact-section form textarea {
    width: 100%;
    padding: 18px 20px 19px !important;
    border-radius: 5px;
    border: unset;
    font-size: 14px;
    font-weight: 500;
    color: rgb(120, 120, 120);
    background: #f5f5f5;
    outline: none;
    margin-bottom: 0;
    height: 100%;
}

@media (max-width: 991px) {
    .contact-section iframe {
        height: 358px;
    }
}

@media (max-width: 575px) {
    .contact-section iframe {
        height: 290px;
    }
}

.feedback-section {
    z-index: 1;
    position: relative;
}

.feedback-section::before {
    position: absolute;
    left: 0;
    top: 0;
    height: 740px;
    content: "";
    width: 100%;
    background: url(../../assets/img/testimonial/feedback-bg.png) no-repeat center center;
    background-size: cover;
    z-index: -1;
}

.feedback-section3 {
    background: url(../../assets/img/testimonial/feedback-bg.png) no-repeat center center;
    background-size: cover;
}

.subscribe-wrapper {
    border: 1px solid rgb(213, 213, 213);
    border-radius: 5px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.1);
    background: url(../../assets/img/testimonial/subs-bg.png) no-repeat center center;
    background-size: cover;
    z-index: 1;
    padding: 100px;
}

.subscribe-wrapper .subscribe-form {
    background: var(--theme);
    border-radius: 8px;
    padding: 50px 50px;
}

.subscribe-wrapper .subscribe-form input {
    width: 100%;
    padding: 14px 24px;
    border-radius: 4px;
    color: var(--text);
    border: unset;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 22px;
}

.subscribe-wrapper .subscribe-form input::placeholder {
    color: var(--text);
}

.subscribe-wrapper .subs-line {
    position: absolute;
    top: -20px;
    left: -10px;
    z-index: -1;
}

.subscribe-wrapper .subs-list li {
    font-size: 18px;
    color: var(--text);
}

.subscribe-wrapper .subs-list li i {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .subscribe-wrapper {
        padding: 40px;
    }

    .subscribe-wrapper .subscribe-form {
        padding: 20px 20px;
    }
}

@media (max-width: 575px) {
    .subscribe-wrapper {
        padding: 20px;
    }
}

.counter-wrapper {
    padding: 140px 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1620px;
    background-color: var(--bg);
}

.counter-wrapper .counter-items .content h2 {
    font-size: 80px;
    font-weight: 700;
    color: var(--theme);
    margin-bottom: 8px;
}

.counter-section {
    position: relative;
    z-index: 9;
}

.counter-section::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--header);
    z-index: -1;
    height: 50%;
}

.counter-section .line-shape {
    position: absolute;
    left: 0;
    bottom: 0;
}

.vedio-area {
    padding: 300px 0;
    background-attachment: fixed;
    position: relative;
}

.play-btn .video-btn {
    width: 160px;
    height: 110px;
    line-height: 110px;
    text-align: center;
    background-color: var(--white);
    color: var(--header);
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 30px;
    transform: translate(-50%, -50%);
}

.cta-wrapper .cta-content {
    position: relative;
    z-index: 9;
}

.cta-wrapper .cta-content h2 {
    font-size: 80px;
    color: var(--white);
    margin-bottom: 10px;
}

.cta-wrapper .cta-content p {
    color: var(--white);
    font-weight: 400;
    margin-bottom: 40px;
}

.cta-wrapper .cta-image {
    position: relative;
    z-index: 9;
}

.cta-wrapper .cta-image img {
    width: 100%;
    height: 100%;
}

.cta-section {
    position: relative;
}

.cta-section::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--theme);
    width: 83.9%;
    left: -6px;
    z-index: 1;
}

.cta-section::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--header);
    top: 50%;
}

.counter-impact-items {
    background-color: var(--white);
    padding: 44px 36px;
    position: relative;
}

.counter-impact-items h4 {
    font-weight: 400;
    color: var(--text);
    position: absolute;
    top: 44px;
    right: 36px;
}

.counter-impact-items h5 {
    margin-bottom: 40px;
}

.counter-impact-items h2 {
    font-size: 80px;
    color: var(--theme);
}

.offer3-section {
    z-index: 1;
}

.offer3-section .offer-trit {
    background-color: rgb(245, 245, 245);
    box-shadow: inset -4px 0px 0px 0px rgba(233, 11, 53, 0.004);
}

.offer3-section .offer-elee {
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

.offer3-section .offer3-thumb {
    direction: rtl;
    margin: 0 120px;
    position: relative;
}

.offer3-section .offer3-thumb img {
    max-width: unset;
}

.offer3-section .offer3-thumb .directory-badge {
    position: absolute;
    bottom: 46px;
    right: 46px;
}

.offer3-section .offer3-thumb .directory-badge img {
    width: 50px;
    margin-bottom: 14px;
}

.offer3-section .offer3-thumb .directory-badge span {
    font-size: 22px;
    font-weight: 500;
    line-height: 26px;
    color: var(--white);
    display: block;
    text-align: start;
}

@media (max-width: 1399px) {
    .offer3-section .offer3-thumb {
        direction: rtl;
        margin: 0 60px;
    }

    .offer3-section .offer3-thumb img {
        max-width: unset;
    }
}

@media (max-width: 1199px) {
    .offer3-section .offer3-thumb {
        direction: rtl;
        margin: 0 0px;
    }

    .offer3-section .offer3-thumb img {
        max-width: unset;
    }
}

@media (max-width: 991px) {
    .offer3-section .offer3-thumb {
        direction: rtl;
        margin: 10px 0px 0;
        width: 100%;
    }

    .offer3-section .offer3-thumb img {
        max-width: 100%;
    }

    .offer3-section .offer3-thumb .directory-badge {
        position: absolute;
        bottom: 16px;
        right: 16px;
    }

    .offer3-section .offer3-thumb .directory-badge img {
        width: 40px;
        margin-bottom: 9px;
    }

    .offer3-section .offer3-thumb .directory-badge span {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (max-width: 450px) {
    .offer3-section .offer3-thumb .directory-badge {
        bottom: 7px;
        right: 7px;
    }

    .offer3-section .offer3-thumb .directory-badge img {
        width: 20px;
        margin-bottom: 5px;
    }

    .offer3-section .offer3-thumb .directory-badge span {
        font-size: 12px;
        line-height: 26px;
    }
}

.land-items {
    position: relative;
    overflow: hidden;
}

.land-items img {
    width: 100%;
    border-radius: 8px;
}

.land-items .land-content {
    width: 80%;
    border-radius: 5px;
    background-color: rgba(22, 22, 22, 0.902);
    z-index: 1;
    padding: 36px 36px;
    position: absolute;
    bottom: 35px;
    left: 35px;
    transition: all 0.5s;
}

@media (max-width: 1600px) {
    .land-items .land-content {
        bottom: 20px;
        left: 20px;
    }
}

@media (max-width: 1399px) {
    .land-items .land-content {
        width: 85%;
        left: 14px;
        bottom: 14px;
        padding: 28px 20px;
    }
}

@media (max-width: 1199px) {
    .land-items .land-content {
        padding: 26px 16px;
    }

    .land-items .land-content span {
        margin-bottom: 0 !important;
    }

    .land-items .land-content h4 a {
        font-size: 18px;
    }
}

@media (max-width: 991px) {
    .land-items .land-content {
        padding: 26px 18px;
    }
}

.land-items:hover .land-content {
    background-color: var(--theme);
    bottom: 33px;
    left: 33px;
}

.land-items:hover .land-content h4,
.land-items:hover .land-content a,
.land-items:hover .land-content span {
    color: var(--white);
}

/* ============= Footer Section ============= */
.footer-section {
    background: linear-gradient(to bottom,
            #171452 0%,
            #15133F 100%);
}

.footer-top {
    padding-top: 4rem !important;
    padding-bottom: 3rem !important;
}

.footer-top .footer-widget .logo-footer {
    max-width: 80px;
    display: block;
}

.footer-top .footer-widget .logo-footer img {
    width: 80%;
}

.footer-top .footer-widget .footer-head-title {
    margin-bottom: 25px;
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    text-transform: capitalize;
}

.footer-top .footer-widget p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--white);
}

.footer-top .footer-widget .qr-code {
    width: 160px;
    height: auto;
    border-radius: 8px;
    background: white;
    padding: 8px;
    margin-top: 4px;
}

.footer-top .footer-widget .widget-link {
    margin: 0;
    color: var(--white);
}

.footer-top .footer-widget .widget-link li a {
    font-size: 15px;
    color: var(--white);
    transition: all 0.3s ease;
}

.footer-top .footer-widget .widget-link li a:hover {
    margin-left: 4px;
    color: var(--theme3);
    ;
}

.footer-top .footer-widget .widget-link .icon-small {
    color: var(--white);
    font-size: 16px;
    flex-shrink: 0;
}

.footer-top .footer-widget .widget-link .cont a {
    color: var(--white);
    font-size: 14px;
}

.footer-top .footer-widget .widget-link .cont span {
    font-size: 14px;
    line-height: 1.6;
}

.footer-top .footer-widget .widget-link .cont a:hover {
    color: var(--theme2);
}

.footer-top .footer-widget .widget-link.related-links {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}

.footer-top .footer-widget .widget-link.related-links li a {
    font-size: 15px;
    color: var(--white);
    text-decoration: none;
    transition: all 0.3s ease;
}

.footer-top .footer-widget .widget-link.related-links li a:hover {
    color: var(--theme2);
}

/* Social Icons */
.social-area a {
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.15);
    transition: all 0.3s ease;
}

.social-area a i {
    color: var(--white);
    font-size: 16px;
}

.social-area a:hover {
    background: var(--theme2);
    transform: translateY(-3px);
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 30px 0;
}

.footer-bottom p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

@media (max-width: 1199px) {
    .footer-top .footer-widget .footer-head-title {
        margin-bottom: 20px;
        font-size: 18px;
    }
}

@media (max-width: 991px) {
    .footer-top {
        padding-top: 3rem !important;
        padding-bottom: 2rem !important;
    }

    .footer-bottom {
        padding: 24px 0;
    }
}

.header-top-section {
    position: relative;
    z-index: 99;
    background: rgb(22, 22, 22);
}

.header-top-section .header-top-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0;
}

.header-top-section .header-top-wrapper .contact-list {
    display: flex;
    align-items: center;
    gap: 40px;
}

.header-top-section .header-top-wrapper .contact-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgb(131, 131, 131);
}

.header-top-section .header-top-wrapper .contact-list li a {
    color: rgb(131, 131, 131);
    font-size: 13px;
}

.header-top-section .header-top-wrapper .contact-list li a:hover {
    color: var(--white);
}

.header-top-section .header-top-wrapper .contact-list li i {
    font-size: 14px;
    color: var(--theme);
}

.header-top-section .header-top-wrapper .social-related a,
.header-top-section .header-top-wrapper .social-related span {
    font-size: 13px;
    color: #838383;
}

.header-top-section .header-top-wrapper .social-wrapper a i {
    font-size: 16px;
    transition: all 0.4s;
    color: #dbdbdb;
}

.header-top-section .header-top-wrapper .social-wrapper a .ani-arrow {
    transition: all 0.5s;
}

.header-top-section .header-top-wrapper .social-wrapper a:hover {
    border-color: var(--theme2);
}

.header-top-section .header-top-wrapper .social-wrapper a:hover i {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .header-top-section .header-top-wrapper .contact-list {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .header-top-section .header-top-wrapper .contact-list li a {
        color: var(--white);
        font-size: 14px;
    }
}

.header-top-section .container {
    max-width: 1475px;
    margin: 0 auto;
}

.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
}

.header-main .custom-header-btn .plus {
    width: 45px;
    height: 50px;
    background: #ba092a;
    transition: all 0.4s;
}

.header-main .custom-header-btn .texts {
    padding: 3px 20px 6px 16px;
    font-weight: 700;
    font-size: 14px;
}

.header-main .custom-header-btn:hover .plus {
    background: #9e0622;
}

.header-main .custom-dropdown .dropdown-button i {
    font-size: 24px;
    transition: all 0.4s;
    color: var(--white);
}

.header-main .custom-dropdown .dropdown-button:hover i {
    color: var(--theme);
}

.header-main .dropdown-content {
    opacity: 0;
    max-height: 0;
    position: absolute;
    background-color: #f9f9f9;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    min-width: 180px;
    z-index: 1;
    top: 140%;
    right: 0;
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

.header-main .dropdown-content a {
    font-size: 14px;
    font-weight: 600;
    color: var(--pragraph);
}

.header-main .dropdown-content a:not(:last-child) {
    margin-bottom: 5px;
}

.header-main .dropdown-content a i {
    font-size: 16px;
}

.header-main .dropdown-content a:hover {
    color: var(--theme);
}

.header-main .dropdown-content::before {
    position: absolute;
    top: -15px;
    right: 1px;
    width: 20px;
    height: 20px;
    content: "";
    background: var(--white);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.header-main .dropdown-content.show {
    opacity: 1;
    max-height: 500px;
}

.header-main .main-menu ul {
    margin-bottom: 0;
}

.header-main .main-menu ul li {
    position: relative;
    list-style: none;
    display: inline-block;
    margin-inline-end: 37px;
}

.header-main .main-menu ul li:last-child {
    margin-inline-end: 0;
}

.header-main .main-menu ul li a {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    color: var(--white);
    padding: 14px 0;
    text-align: left;
    font-family: "Manrope", sans-serif;
    position: relative;
    text-transform: capitalize;
    transition: all 0.4s ease-in-out;
}

.header-main .main-menu ul li a i {
    margin-left: 2px;
    font-size: 16px;
}

.header-main .main-menu ul li a:hover {
    color: var(--white) !important;
}

.header-main .main-menu ul li .submenu {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    width: 200px;
    background: var(--white);
    border-radius: 5px;
    z-index: 99999;
    visibility: hidden;
    opacity: 0;
    transform-origin: top center;
    color: var(--header);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    transform: translateY(10px);
    transition: all 0.4s ease-in-out;
}

.header-main .main-menu ul li .submenu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.header-main .main-menu ul li .submenu li a {
    position: relative;
    z-index: 11;
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
    padding: 0 18px;
    padding-bottom: 11px;
    padding-top: 11px;
    width: 100%;
    border-bottom: 1px solid #eeeeee;
    border-radius: 5px;
}

.header-main .main-menu ul li .submenu li:last-child a {
    border: none;
}

.header-main .main-menu ul li .submenu li .submenu {
    inset-inline-start: 100%;
    top: 0;
    visibility: hidden;
    opacity: 0;
}

.header-main .main-menu ul li .submenu li:hover>a {
    background: var(--theme);
    color: var(--white) !important;
}

.header-main .main-menu ul li .submenu li:hover>a::after {
    color: var(--theme);
}

.header-main .main-menu ul li .submenu li:hover>.submenu {
    -webkit-transform: translateY(1);
    -moz-transform: translateY(1);
    -ms-transform: translateY(1);
    -o-transform: translateY(1);
    transform: translateY(1);
    visibility: visible;
    opacity: 1;
}

.header-main .main-menu ul li .submenu li.has-dropdown>a::after {
    position: absolute;
    top: 50%;
    inset-inline-end: 25px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    color: var(--theme);
}

.header-main .main-menu ul li .has-homemenu {
    width: 500px;
    padding: 30px 30px 10px 30px;
    opacity: 0;
    left: 0px;
    visibility: hidden;
    padding: 20px 20px 20px 20px;
}

@media (min-width: 1200px) {
    .header-main .main-menu ul li .has-homemenu {
        width: 746px;
    }
}

.header-main .main-menu ul li .has-homemenu .homemenu-items {
    display: flex;
    align-items: center;
    gap: 18px;
    justify-content: space-between;
}

@media (max-width: 991px) {
    .header-main .main-menu ul li .has-homemenu .homemenu-items {
        flex-wrap: wrap;
    }
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu {
    position: relative;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb {
    position: relative;
    width: 100%;
    max-width: 220px;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb img {
    width: 100%;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    gap: 10px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    margin-top: 20px;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn {
    padding: 14px 20px;
    color: var(--white) !important;
    width: initial;
    font-size: 14px;
    text-align: center;
    border-radius: 0;
    justify-content: center !important;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn:hover {
    color: var(--white) !important;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb::before {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(20, 19, 19, 0)), to(#5e5ef6));
    background: linear-gradient(to bottom, rgba(99, 92, 92, 0) 0%, #252527 100%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    content: "";
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover::before {
    visibility: visible;
    opacity: 1;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
    opacity: 1;
    visibility: visible;
    bottom: 50%;
    transform: translateY(50%);
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-thumb img {
    width: 100%;
}

.header-main .main-menu ul li .has-homemenu .homemenu-items .homemenu .homemenu-title {
    text-align: center;
    margin: 15px auto;
    display: inline-block;
    font-size: 16px;
}

.header-main .main-menu ul li:hover>a {
    color: var(--theme);
}

.header-main .main-menu ul li:hover>a::after {
    color: var(--theme);
}

.header-main .main-menu ul li:hover>.submenu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
}

.header-main .sidebar__toggle {
    cursor: pointer;
}

.header-main .sidebar__toggle i {
    font-size: 28px;
}

@media screen and (min-width: 1850px) {
    .container.container-header-top {
        margin-left: 225px !important;
        max-width: 1600px !important;
    }
}

.container.container-extra-header {
    max-width: 1740px !important;
    margin: 0 auto !important;
}

.header-1 .mega-menu-wrapper {
    border-radius: 100px;
}

.header-1 .header-main .header-left {
    display: flex;
    align-items: center;
    gap: 60px;
}

@media (max-width: 1899px) {
    .header-1 .header-main .header-left {
        gap: 40px;
    }
}

@media (max-width: 1399px) {
    .header-1 .header-main .header-left {
        gap: 25px;
    }
}

@media (max-width: 1199px) {
    .header-1 .header-main .header-left {
        gap: 20px;
    }
}

.header-1 .header-main .header-left .category-oneadjust {
    width: 160px;
    border-radius: 8px;
    border: 1px solid rgba(92, 112, 126, 0.3);
    padding: 10px 16px;
    position: relative;
    z-index: 99;
}

@media (max-width: 767px) {
    .header-1 .header-main .header-left .category-oneadjust {
        display: none;
    }
}

.header-1 .header-main .header-left .category-oneadjust .nice-select {
    width: unset !important;
    gap: 20px;
    font-size: 16px;
}

.header-1 .header-main .header-left .category-oneadjust .nice-select .list {
    max-height: 15vh;
    background: var(--white);
    width: 160px;
    padding: 5px 8px;
    overflow-y: scroll;
}

@media (max-width: 1199px) {
    .header-1 .header-main .header-left .category-oneadjust .nice-select .list {
        right: -60px;
    }
}

.header-1 .header-main .header-left .category-oneadjust .nice-select .list li {
    color: var(--header);
    font-size: 14px;
    border: none;
}

.header-1 .header-main .header-right {
    gap: 30px;
}

@media (max-width: 1199px) {
    .header-1 .header-main .header-right {
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .header-1 .header-main .header-right {
        gap: 10px;
    }
}

@media (max-width: 1399px) {
    .header-1 .header-main .header-right {
        gap: 7px;
    }
}

.header-1 .header-main .header-right .search-icon {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 50%;
    border: 1px solid rgba(92, 112, 126, 0.3);
    color: var(--header);
    margin-left: 30px;
}

@media (max-width: 1199px) {
    .header-1 .header-main .header-right .search-icon {
        margin-left: 0;
    }
}

@media (max-width: 1199px) {
    .header-1 .header-main .header-right .search-icon {
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
}

@media (max-width: 1399px) {
    .header-1 .header-main .header-right .header-button {
        display: none;
    }
}

.header-1 .header-logo {
    width: 120px;
    display: block;
}

.header-1 .header-logo img {
    width: 100%;
}

.header-1.header-style2 {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9;
    padding-top: 53px;
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.1);
}

.header-1.header-style2 .container {
    max-width: 1475px;
    margin: 0 auto;
}

.header-1.header-version2 {
    padding-top: 0;
    padding: 25px 0;
    border: unset !important;
    box-shadow: none !important;
}

.header-1.header-version2.sticky {
    padding: 0 0;
}

.header-1.header-version3.sticky {
    background: var(--white);
}

.header-1.header-version3 .dropdown-button i {
    color: var(--black);
}

.header-1.header-version3 .sidebar__toggle i {
    color: var(--black) !important;
}

@media (min-width: 1200px) {
    .header-1.header-version3 .main-menu ul li a {
        color: var(--black);
    }
}

@media (max-width: 1199px) {
    .header-1.header-version3 {
        background: var(--white);
    }
}

@media (max-width: 1199px) {
    .header-1 .common-btn {
        padding: 9px 16px 11px !important;
    }

    .header-1 .common-btn i {
        display: none;
    }
}

@media (max-width: 767px) {
    .header-1.header-style2 {
        padding-top: 0px;
    }
}

@media (max-width: 450px) {
    .header-1 .header-logo {
        max-width: 100px;
    }

    .header-1 .header-logo img {
        width: 100%;
    }
}

.sidebar__toggle {
    cursor: pointer;
}

.sticky-header1.sticky {
    position: fixed !important;
    top: 0 !important;
}

.header-style2.sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: all 0.9s;
    -webkit-animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
    animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
    padding-top: 0;
    background: var(--header);
}

.header-color2 .header-right .main-menu ul li,
.header-color2 .header-right .main-menu ul a {
    color: #978f90;
}

/* @media (min-width: 1200px) {
  .fix-area {
    display: none !important;
  }
} */

.offcanvas__info {
    background: var(--white);
    border-left: 2px solid var(--white);
    position: fixed;
    right: 0;
    top: 0;
    width: 400px;
    height: 100%;
    -webkit-transform: translateX(calc(100% + 80px));
    -moz-transform: translateX(calc(100% + 80px));
    -ms-transform: translateX(calc(100% + 80px));
    -o-transform: translateX(calc(100% + 80px));
    transform: translateX(calc(100% + 80px));
    -webkit-transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
    -moz-transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
    transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
    z-index: 99999;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
}

.offcanvas__info::-webkit-scrollbar {
    display: none;
}

.offcanvas__info.info-open {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}

.offcanvas__wrapper {
    position: relative;
    height: 100%;
    padding: 30px 30px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__logo a {
    max-width: 120px;
    display: block;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__logo a img {
    width: 100%;
}

.offcanvas__wrapper .offcanvas__content .text {
    color: var(--text);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__close {
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 4px;
    background-color: var(--theme);
    position: relative;
    z-index: 9;
    cursor: pointer;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__close i {
    color: var(--white);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact {
    margin-top: 20px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul {
    margin-top: 20px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li {
    font-size: 14px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 22px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li a {
    color: var(--black);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li:not(:last-child) {
    margin-bottom: 8px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon {
    margin-right: 10px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon i {
    color: var(--black);
    font-size: 18px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact span {
    text-transform: initial;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button {
    margin-top: 20px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn {
    width: 100%;
    padding: 16px 40px;
    text-transform: capitalize !important;
    background: var(--theme) !important;
    border-radius: 100px;
    overflow: hidden;
    padding: 9px 16px 10px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn span,
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn i {
    color: var(--white) !important;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon {
    margin-top: 30px;
    gap: 10px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon a {
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    font-size: 16px;
    display: block;
    background: var(--white);
    color: var(--text);
    border-radius: 8px;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    text-align: center;
    border: 1px solid var(--border);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon a:hover {
    border-color: var(--theme);
    background-color: var(--theme);
    color: var(--white);
}

@media (max-width: 1199px) {
    .offcanvas__overlay {
        position: fixed;
        height: 100%;
        width: 100%;
        background: #151515;
        z-index: 900;
        top: 0;
        opacity: 0;
        visibility: hidden;
        right: 0;
    }
}

@media (max-width: 1199px) {
    .offcanvas__overlay.overlay-open {
        opacity: 0.8;
        visibility: visible;
    }
}

@media (max-width: 450px) {
    .offcanvas__info {
        width: 300px;
    }
}

@media (max-width: 575px) {
    .offcanvas__wrapper {
        padding: 20px;
    }
}

/* ::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

/* Track *
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px var(--theme);
  border-radius: 5px;
}

/* Handle *
::-webkit-scrollbar-thumb {
  background: var(--theme);
  border-radius: 10px;
} */

.fix {
    overflow: hidden;
}

.ralt {
    position: relative;
}

.ripple {
    position: relative;
}

.ripple::before,
.ripple::after {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 60px;
    height: 60px;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(191, 247, 71, 0.5);
    -webkit-animation: rippleOne 3s infinite;
    animation: rippleOne 3s infinite;
}

.ripple::before {
    -webkit-animation-delay: 0.9s;
    animation-delay: 0.9s;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
}

.ripple::after {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
}

.swiper-dot .swiper-pagination-bullet {
    width: 40px;
    height: 8px;
    transition: 0.6s;
    background-color: #2a2a2a;
    opacity: 1;
    border-radius: 10px;
    position: relative;
}

.swiper-dot .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--theme);
    transition: 0.6s;
    position: relative;
    width: 40px;
}

@media (max-width: 767px) {
    br {
        display: none;
    }
}

/* background */
.bg-cover {
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    background-position: center;
}

.nice-select {
    background-color: transparent;
    border: transparent;
    float: initial;
    overflow: initial;
    height: initial;
    padding: 0;
    display: inline-flex;
    align-items: center;
    line-height: 150%;
    width: 100%;
    border: none;
}

.nice-select:focus,
.nice-select:hover {
    border-color: transparent;
}

.nice-select::after {
    height: 8px;
    width: 8px;
    right: 20px;
    top: 25px;
    border-color: var(--header);
    border-bottom: 2px solid var(--header);
    border-right: 2px solid var(--header);
}

.nice-select .list {
    width: initial;
    background-color: var(--white);
    box-shadow: none;
    overflow: initial;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 0px;
    width: 100%;
    top: 100%;
    padding: 0;
    max-height: 50vh;
    overflow-x: auto;
    right: initial;
    left: 0;
}

.nice-select .list::-webkit-scrollbar {
    width: 2px;
    opacity: 1;
    display: block;
}

.nice-select .list::-webkit-scrollbar-button,
.nice-select .list::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #1C3E7A 0%, #2D3E82 100%);
}

.nice-select .option {
    background-color: transparent;
    font-size: 16px;
    line-height: 150%;
    padding: 4px 5px;
    min-height: initial;
    font-weight: 500;
}

.nice-select .option:hover,
.nice-select .option:focus,
.nice-select .option.selected.focus {
    background: linear-gradient(135deg, #1C3E7A 0%, #2D3E82 100%);
    color: var(--white);
}

.nice-select .current {
    font-weight: 500;
    color: var(--header);
}

.price-range-wrapper {
    /* Custom thumb styling */
    /* Remove the default appearance for sliders in Firefox */
}

.price-range-wrapper .slider-container {
    position: relative;
    width: 100%;
}

.price-range-wrapper .price-text label {
    color: #1b1f2a;
    font-size: 20px;
    font-weight: 500;
}

.price-range-wrapper .price-text input {
    color: #1b1f2a;
    font-size: 18px;
    font-weight: 500;
}

.price-range-wrapper .slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: #ddd;
    /* Default background */
    outline: none;
    position: absolute;
    top: 0;
    pointer-events: none;
}

.price-range-wrapper .slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: #ff5722;
    cursor: pointer;
    border: 2px solid #fff;
    position: relative;
    z-index: 2;
    pointer-events: all;
}

.price-range-wrapper .slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #ff5722;
    cursor: pointer;
    border-radius: 4px;
    border: 2px solid #000;
    z-index: 2;
    position: relative;
}

.price-range-wrapper .slider::-ms-thumb {
    width: 20px;
    height: 20px;
    background: #ff5722;
    cursor: pointer;
    border-radius: 4px;
    border: 2px solid #000;
    z-index: 2;
    position: relative;
}

.price-range-wrapper input[type=range]::-moz-range-track {
    background: transparent;
}

.common-table {
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.common-table .cart-item-thumb {
    width: 86px;
}

.common-table .cart-item-thumb .head {
    color: #1B1F2A;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.common-table .price-usd {
    font-size: 16px;
    font-weight: 500;
    color: #666C78;
}

.common-table tr {
    border-bottom: 1px solid #E4E4E5;
}

.common-table thead,
.common-table tbody {
    width: 100%;
}

.common-table thead tr,
.common-table tbody tr {
    width: 100%;
    display: flex;
    box-sizing: border-box;
}

.common-table thead tr th,
.common-table thead tr td,
.common-table tbody tr th,
.common-table tbody tr td {
    width: 100%;
    box-sizing: border-box;
}

.common-table thead tr {
    color: #1B1F2A;
    border-bottom: unset;
    border-radius: 16px 16px 0 0;
    border-bottom: 1px solid #E4E4E5;
}

.common-table thead tr th {
    background: unset;
    color: unset;
    border: unset;
    font-size: 16px;
    padding-bottom: 16px;
}

.common-table tbody tr td {
    background: transparent;
    color: unset;
    box-sizing: border-box;
    border-bottom: unset;
}

.quantity button i {
    font-size: 16px;
}

.quantity .quantityValue {
    width: 40px;
    text-align: center;
    padding: 0;
    color: #000;
    border: unset;
}

.hero-1 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 84px);
    height: calc(100vh - 84px);
}

.hero-bg-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hero-bg-slider .slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.hero-bg-slider .slide-bg.active {
    opacity: 1;
    z-index: 1;
}

.hero-1 .container {
    position: relative;
    z-index: 10;
    width: 100%;
}

.modern-search-container {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    padding: 0 20px;
}

.search-form-modern {
    position: relative;
}

.search-box-modern {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    background: rgba(255, 255, 255, 0.19);
    border-radius: 16px;
    padding: 10px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(2.2px);
    -webkit-backdrop-filter: blur(2.2px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Search Input Group */
.search-input-group {
    position: relative;
    display: flex;
    align-items: center;
    background: white;
    border-radius: 12px;
    padding: 0 18px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.search-input-group:focus-within {
    color: var(--text);
    border-color: var(--theme2);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

.input-icon {
    display: flex;
    align-items: center;
    color: #94a3b8;
    margin-right: 12px;
    transition: color 0.3s ease;
}

.search-main-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    padding: 16px 0;
    min-width: 0;
}

.search-main-input:focus {
    color: #1e293b;
}

.search-input-group:focus-within .input-icon {
    color: var(--theme2);
}

.search-main-input::placeholder {
    color: #cbd5e1;
    font-weight: 400;
}

/* Category Filter */
.category-filter-modern {
    position: relative;
}

.category-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    background: white;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 16px 20px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    font-size: 15px;
    font-weight: 500;
    color: #475569;
    width: 220px;
    max-width: 220px;
}

.category-trigger:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.category-trigger.active {
    border-color: #3b82f6;
    background: #eff6ff;
    color: #1e40af;
}

.category-icon {
    display: flex;
    align-items: center;
    color: #64748b;
}

.category-trigger.active .category-icon {
    color: #3b82f6;
}

.category-text {
    flex: 1;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.chevron-icon {
    transition: transform 0.3s ease;
    color: #94a3b8;
}

.category-trigger.active .chevron-icon {
    transform: rotate(180deg);
    color: #3b82f6;
}

/* Modern Dropdown Menu */
.modern-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: white;
    border-radius: 16px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(0, 0, 0, 0.05);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    min-width: 350px;
    overflow: hidden;
}

.modern-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.dropdown-header {
    padding: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.dropdown-search {
    width: 100%;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
}

.dropdown-search:focus {
    border-color: #3b82f6;
    background: #f8fafc;
    color: #1e293b;
}

.dropdown-body {
    max-height: 300px;
    overflow-y: auto;
    padding: 8px;
}

.dropdown-body::-webkit-scrollbar {
    width: 6px;
}

.dropdown-body::-webkit-scrollbar-track {
    background: transparent;
}

.dropdown-body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.dropdown-body::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.category-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 2px;
}

.category-option:hover {
    background: #f8fafc;
}

.option-text {
    font-size: 14px;
    font-weight: 500;
    color: #475569;
}

.option-check {
    font-size: 16px;
    color: #3b82f6;
    font-weight: 700;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s ease;
}

.category-option.active {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.category-option.active .option-text {
    color: white;
    font-weight: 600;
}

.category-option.active .option-check {
    opacity: 1;
    transform: scale(1);
    color: white;
}

/* Search Button */
.search-btn-modern {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #54689E;
    border: none;
    border-radius: 12px;
    padding: 14px 28px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    color: white;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
}

.search-btn-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.search-btn-modern:hover::before {
    left: 100%;
}

.search-btn-modern:hover {
    transform: translateY(-2px);
}

.search-btn-modern:active {
    transform: translateY(0);
}

.btn-icon {
    transition: transform 0.3s ease;
}

.search-btn-modern:hover .btn-icon {
    transform: translateX(4px);
}

.hero-bg-slider::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.hero-1 .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 1500ms ease-in, -webkit-transform 7000ms ease;
    transition: opacity 1500ms ease-in, -webkit-transform 7000ms ease;
    transition: transform 9000ms ease, opacity 1500ms ease-in;
    transition: transform 9000ms ease, opacity 1500ms ease-in, -webkit-transform 9000ms ease;
}

.hero-1 .hero-bg::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(180deg, rgba(11, 13, 17, 0.6) 0%, rgba(11, 13, 17, 0.2) 30%, #0b0d11 100%);
}

.hero-section .hero-1 .container .hero-content {
    position: relative;
    opacity: 1;
    z-index: 3;
    transform: translateY(0px);
}

.hero-1 .hero-content .hero-title {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.hero-1 .hero-content .hero-title h1 {
    font-size: clamp(2rem, 4vw + 0.5rem, 3rem);
    line-height: 1.2;
    letter-spacing: 3px;
    font-weight: 700;
    font-family: 'Montserrat', 'Arial', sans-serif;
    text-shadow: 2px 2px 12px rgba(0, 0, 0, 0.5);
    color: var(--white);
    text-transform: uppercase;
    margin-bottom: 2rem;
}

.hero-logo-wrapper {
    width: 260px;
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 40px; */
    margin: 0 auto 2rem auto;
}

.hero-logo-wrapper img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border: 2px solid var(--white);
    border-radius: 50%;
}

.hero-1 .hero-content .hero-description {
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 3rem;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
    max-width: 700px;
    line-height: 1.6;
}

/* Badge Info Section */
.hero-badge-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.hero-badge-info .hero-badge-info-item {
    background: var(--white);
    border-radius: 50px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.hero-badge-info .hero-badge-info-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.hero-badge-info .hero-badge-info-item i {
    font-size: 18px;
    color: #1e3a8a;
}

.hero-badge-info .hero-badge-info-item span {
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
    white-space: nowrap;
}

.hero-1 .hero-content h1 .discover {
    letter-spacing: 9px;
    color: var(--theme);
    display: block;
    text-transform: uppercase;
}

.hero-1 .hero-content h1 span .lines-elee {
    position: absolute;
    right: -50px;
    top: -15px;
}

.hero-1 .hero-content .listing-search-form {
    padding: 20px 20px;
    margin-bottom: 30px;
    border-radius: 10px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    /* background: url(../../assets/img/hero/search-bg.png) no-repeat center center; */
    /* background-size: cover; */
}

.hero-1 .hero-content .listing-search-form .search-wrap {
    background: var(--white);
    padding: 5px 10px;
    border-radius: 50px;
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: 0 0px 60px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0px 60px 0 rgba(0, 0, 0, 0.1);
}

.search-input-wrap {
    display: flex;
    align-items: center;
    padding-left: 10px;
}

.search-input-wrap i {
    font-size: 16px;
    color: var(--text);
}

.hero-1 .hero-content .listing-search-form .search-wrap .search-form-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.hero-1 .hero-content .listing-search-form .search-wrap .search-form-main input {
    border: unset;
    border-radius: 0;
    font-size: 16px;
    color: var(--text);
}

.hero-1 .hero-content .listing-search-form .search-wrap .search-form-main ::placeholder {
    color: var(--text);
}

.hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .search-first {
    width: 285px;
    font-size: 16px;
}

.hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .theme-btn {
    font-size: 15px;
    letter-spacing: 1px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-1 .hero-content .listing-search-form .search-wrap .category-select {
    /* width: 370px; */
    border-left: 1px solid rgb(213, 213, 213);
    /* padding-left: 40px; */

    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
    padding-left: 15px;
}

.hero-1 .hero-content .listing-search-form .search-wrap .nice-select {
    border-radius: 0;
}

.hero-1 .hero-content .listing-search-form .search-wrap .nice-select .list li {
    background: var(--white);
    font-size: 14px;
    font-weight: 500;
    color: var(--pragraph);
    padding-left: 10px;
    border-color: rgba(112, 112, 112, 0.26);
}

.hero-1 .hero-content .listing-search-form .search-wrap .nice-select .current {
    font-size: 16px;
    font-weight: 400;
    color: var(--text);
}

.hero-1 .hero-content .listing-search-form .search-wrap .nice-select::after {
    border-color: rgb(120, 120, 120);
}

.hero-1 .hero-content .browse-hilisht {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-1 .hero-content .browse-hilisht .b-hilisht-text {
    font-size: 16px;
    font-weight: 600;
    color: var(--white);
}

.hero-1 .hero-content .browse-hilisht .b-hilisht-item {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    padding: 2px 16px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
}

.hero-1 .hero-content .browse-hilisht .b-hilisht-item:hover {
    cursor: pointer;
}

.hero-1 .hero-content .browse-hilisht .arrow-ele {
    position: absolute;
    top: 100%;
    left: 160px;
}

.hero-1 .hero-button {
    text-align: right;
    transform: translateY(150px);
    opacity: 0;
}

.hero-section .hero-1 .container .hero-content {
    position: relative;
    opacity: 1;
    z-index: 3;
    /* background:red; */
    transform: translateY(0px);
}

@media (max-width: 768px) {
    .modern-search-container {
        padding: 0 15px;
    }

    .search-box-modern {
        border-radius: 14px;
        padding: 10px;
    }

    .search-input-group,
    .category-trigger,
    .search-btn-modern {
        border-radius: 10px;
    }

    .search-main-input {
        font-size: 14px;
        padding: 14px 0;
    }

    .category-trigger {
        font-size: 14px;
        padding: 12px 16px;
        width: 100%;
        max-width: 100%;
    }

    .search-btn-modern {
        font-size: 14px;
        padding: 12px 24px;
    }
}

@media (max-width: 575px) {
    .search-box-modern {
        gap: 8px;
    }

    .search-input-group {
        padding: 0 14px;
    }

    .input-icon svg {
        width: 18px;
        height: 18px;
    }

    .category-icon svg {
        width: 16px;
        height: 16px;
    }

    .btn-text {
        display: inline;
    }

    .modern-dropdown-menu {
        border-radius: 12px;
    }

    .dropdown-body {
        max-height: 250px;
    }
}

@media (max-width: 1399px) {
    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .search-first {
        width: 255px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .category-select {
        /* width: 370px; */
        width: 100%;
        padding-left: 20px;
    }
}

@media (max-width: 1199px) {
    .hero-1 .hero-content h1 {
        margin-bottom: 30px;
        font-size: 50px;
        font-weight: 800;
        line-height: 70px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main input {
        font-size: 16px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .search-first {
        width: 215px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .theme-btn {
        font-size: 15px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .nice-select .list li {
        font-size: 14px;
    }

    .hero-1 .hero-content .browse-hilisht {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .hero-1 .hero-content .browse-hilisht .b-hilisht-item {
        padding: 2px 16px;
    }

    .hero-1 .hero-content .browse-hilisht .arrow-ele {
        left: 160px;
    }
}

@media (max-width: 991.98px) {
    .hero-1 {
        min-height: 100vh;
        height: auto;
        /* padding: 100px 0 60px; */
    }

    .hero-logo-wrapper {
        width: 180px;
        height: 180px;
        margin: 0 auto 1.5rem auto;
    }

    .hero-1 .hero-logo {
        display: block;
        width: auto;
        align-items: center;
        text-align: center;
    }

    .hero-1 .hero-content .hero-title {
        max-width: 90%;
        margin: 0 auto;
        text-align: center;
    }

    .hero-1 .hero-content .hero-title h1 {
        font-size: clamp(1.8rem, 4vw + 0.5rem, 2.5rem);
        line-height: 1.2;
        letter-spacing: 1px;
        display: inline-block;
        max-width: 100%;
        transform-origin: center;
        word-break: keep-all;
    }

    .hero-1 .hero-content .listing-search-form {
        padding: 15px 16px;
        margin-bottom: 30px;
    }

    .hero-1 .hero-content .listing-search-form .search-form-main .search-input-wrap {
        width: 100%;
        max-width: 100%;
    }

    .hero-1 .hero-content .listing-search-form .search-form-main .search-input-wrap i {
        display: none;
    }

    .hero-1 .hero-content .listing-search-form .search-form-main .search-input-wrap .search-first {
        margin-bottom: 0px;
        width: 100%;
        max-width: 100%;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .search-first::placeholder {
        padding-left: 20px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap {
        padding: 20px 15px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main input {
        font-size: 14px;
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
        padding-bottom: 8px;
        border-bottom: 1px solid #ebebeb;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .search-first {
        width: 100%;
        max-width: 100%;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .search-form-main .theme-btn {
        font-size: 15px;
        width: 100%;
        max-width: 100%;
        justify-content: center !important;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .category-select {
        width: 100%;
        max-width: 100%;
        padding: 15px 30px 8px;
        border-left: unset;
        border-bottom: 1px solid #ebebeb;
        margin-bottom: 20px;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .category-select select,
    .hero-1 .hero-content .listing-search-form .search-wrap .category-select .nice-select {
        width: 100%;
        max-width: 100%;
    }

    .hero-1 .hero-content .listing-search-form .search-wrap .nice-select .list li {
        font-size: 14px;
    }

    .modern-search-container {
        padding: 0 20px;
        max-width: 100%;
    }

    .search-box-modern {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
    }

    .search-input-group,
    .category-trigger,
    .search-btn-modern {
        width: 100%;
        max-width: 100%;
    }

    .category-trigger {
        width: 100%;
        max-width: 100%;
        justify-content: space-between;
    }

    .search-btn-modern {
        width: 100%;
        justify-content: center;
    }

    .modern-dropdown-menu {
        min-width: 100%;
        left: 0;
        right: 0;
    }
}

@media (max-width: 768px) {
    .hero-1 .hero-content .hero-title {
        max-width: 95%;
        padding: 0 15px;
    }

    .hero-1 .hero-content .hero-title h1 {
        font-size: clamp(1.3rem, 5.5vw + 0.2rem, 1.9rem);
        line-height: 1.25;
        letter-spacing: 0.5px;
        word-spacing: 0.1em;
    }
}

@media (max-width: 616px) {
    .hero-1 .hero-content .hero-title {
        max-width: 95%;
        margin: 0 auto;
        text-align: center;
    }

    .hero-1 .hero-content .hero-title h1 {
        line-height: 1.1;
        letter-spacing: 0.5px;
        display: inline-block;
        max-width: 100%;
        word-break: keep-all;
        transform-origin: center;
    }
}

@media (max-width: 575px) {
    .hero-1 {
        min-height: 100vh;
    }

    .hero-1 .hero-content h1 {
        margin-bottom: 30px;
        font-size: 30px;
        font-weight: 800;
        line-height: 40px;
    }
}

/* ==================== Section Seni Memartabatkan Budaya Malaysia ==================== */
.seni-budaya-section {
    padding: 100px 0;
    background-color: #54689E;
    position: relative;
    overflow: hidden;
}

.seni-budaya-section::after {
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    left: 34px;
    top: 60.4px;
    background: rgba(255, 232, 224, 0.4);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}

.seni-budaya-section .container::before {
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    left: 82%;
    top: -117.6px;
    background: rgba(255, 232, 224, 0.4);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.seni-budaya-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.03);
    pointer-events: none;
}

.seni-budaya-section .container {
    position: relative;
    z-index: 2;
}

/* Content Styling */
.seni-budaya-content {
    color: var(--white);
}

.seni-budaya-content .seni-budaya-title {
    font-size: 3rem;
    font-weight: bold;
    color: var(--white);
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.seni-budaya-content .highlight-text {
    font-weight: 700;
    display: block;
    color: var(--theme);
}

.seni-budaya-content .seni-budaya-description {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--white);
    font-weight: 300;
    max-width: 90%;
}

/* Buttons */
.section-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.btn-primary-outline {
    display: inline-block;
    background-color: transparent;
    color: var(--white) !important;
    padding: 14px 35px;
    border: 2px solid var(--white);
    border-radius: 50px;
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
    letter-spacing: 0.3px;
}

.btn-primary-outline:hover {
    background-color: var(--white);
    color: var(--theme) !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.btn-secondary-filled {
    display: inline-block;
    background-color: var(--white);
    color: var(--theme) !important;
    padding: 14px 35px;
    border: 2px solid var(--white);
    border-radius: 50px;
    font-weight: 500;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
    letter-spacing: 0.3px;
}

.btn-secondary-filled:hover {
    background-color: transparent;
    color: var(--white) !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Stats Grid */
.stats-grid {
    padding: 0 20px;
}

.seni-budaya-section .stat-card {
    background: linear-gradient(to bottom, rgba(67, 87, 140, 1) 0%, rgba(226, 231, 245, 1) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.seni-budaya-section .stat-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.seni-budaya-section .stat-card .stat-icon {
    width: 60px;
    height: 60px;
    background-color: var(--white);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: var(--theme);
}

.stat-number {
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 8px;
    line-height: 1;
}

.stat-label {
    font-size: 0.95rem;
    color: var(--black);
    font-weight: 400;
    opacity: 0.95;
}

/* Responsive */
@media (max-width: 991.98px) {
    .seni-budaya-content .seni-budaya-title {
        font-size: 2.2rem;
        text-align: center;
    }

    .seni-budaya-content .seni-budaya-description {
        text-align: center;
        max-width: 100%;
    }

    .section-buttons {
        justify-content: center;
    }

    .stats-grid {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .seni-budaya-section {
        padding: 60px 0;
    }

    .seni-budaya-content .section-title {
        font-size: 1.8rem;
    }

    .stat-card {
        padding: 25px 15px;
    }

    .stat-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
        margin-bottom: 15px;
    }

    .stat-number {
        font-size: 1.8rem;
    }

    .stat-label {
        font-size: 0.85rem;
    }
}

@media (max-width: 575px) {
    .seni-budaya-section .container {
        padding: 0 20px;
    }

    .btn-primary-outline,
    .btn-secondary-filled {
        padding: 12px 25px;
        font-size: 0.9rem;
        width: 100%;
    }

    .section-buttons {
        width: 100%;
    }
}


/* ==================== Section Terokai Mengikut Kategori - FIXED ==================== */
.kategori-section {
    padding: 80px 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(84, 104, 158, 1) 91%);
    position: relative;
    overflow: hidden;
}

.kategori-section .container {
    position: relative;
    z-index: 2;
    padding-top: 20px;
    padding-bottom: 20px;
}

.kategori-title {
    font-size: 2.5rem;
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.kategori-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--theme);
    border-radius: 2px;
}

.kategori-swiper-wrapper {
    position: relative;
    padding: 0 60px;
    margin: 20px 0;
}

.kategori-swiper {
    overflow: hidden;
    padding: 20px 0;
    margin: -20px 0;
}

.kategori-swiper .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

.kategori-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.kategori-swiper-button-prev,
.kategori-swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    border: 3px solid var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}

.kategori-swiper-button-prev:hover,
.kategori-swiper-button-next:hover {
    background: var(--white);
    transform: translateY(-50%) scale(1.1);
}

.kategori-swiper-button-prev i,
.kategori-swiper-button-next i {
    font-size: 1.2rem;
    color: var(--white);
}

.kategori-swiper-button-prev:hover i,
.kategori-swiper-button-next:hover i {
    color: black;
}

.kategori-swiper-button-prev {
    left: 0;
}

.kategori-swiper-button-next {
    right: 0;
}

.kategori-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, rgba(19, 18, 46, 1) 0%, rgba(84, 104, 158, 1) 100%);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 25px 12px;
    min-height: 220px;
    width: 100%;
    height: 100%;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid var(--black);
}

.kategori-card:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-10px);
    border-color: rgba(255, 255, 255, 0.4);
}

.kategori-icon {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.kategori-card:hover .kategori-icon {
    transform: scale(1.1) rotate(5deg);
}

.kategori-icon i {
    font-size: 1.8rem;
    color: var(--white);
}

.kategori-name {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 0;
    text-align: center;
    line-height: 1.4;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: none;
}

@media (max-width: 991px) {
    .kategori-section .col-12 {
        text-align: center;
    }

    .kategori-title {
        display: inline-block;
        font-size: 28px;
    }

    .kategori-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .kategori-swiper-wrapper {
        padding: 0 50px;
    }

    .kategori-swiper-button-prev,
    .kategori-swiper-button-next {
        width: 40px;
        height: 40px;
    }

    .kategori-swiper-button-prev i,
    .kategori-swiper-button-next i {
        font-size: 1rem;
    }
}

@media (max-width: 767px) {
    .kategori-title {
        font-size: 1.4rem;
    }

    .kategori-swiper-wrapper {
        padding: 0 45px;
    }

    .kategori-swiper-button-prev,
    .kategori-swiper-button-next {
        width: 35px;
        height: 35px;
    }

    .kategori-card {
        min-height: 200px;
        padding: 20px 12px;
    }

    .kategori-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 12px;
    }

    .kategori-icon i {
        font-size: 1.5rem;
    }

    .kategori-name {
        font-size: 0.85rem;
    }
}

@media (max-width: 575px) {
    .kategori-section {
        padding: 60px 0;
    }

    .kategori-swiper-wrapper {
        padding: 0 40px;
    }

    .kategori-card {
        min-height: 180px;
        padding: 18px 10px;
    }
}

/* ==================== Section VR Seni Budaya ==================== */
.vr-section {
    padding: 80px 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(84, 104, 158, 1) 91%);
    position: relative;
    overflow: hidden;
}

.vr-title {
    font-size: 2.5rem;
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.vr-title::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--theme);
    border-radius: 2px;
}

/* VR Content Grid - Ensure balanced heights */
.vr-section .row.g-4.mb-5 {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
}

.vr-section .row.g-4.mb-5>.col-lg-6 {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vr-section .row.g-4.mb-5>.col-lg-6:last-child>.row.g-4 {
    display: flex;
    flex-direction: column;
}

.vr-section .row.g-4.mb-5>.col-lg-6:last-child>.row.g-4>.col-12 {
    flex: 1;
    display: flex;
}

.vr-main-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vr-main-image {
    position: relative;
    flex: 1;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.vr-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* VR Badges */
.vr-badges {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.vr-badge.vr-badge-360 {
    background: rgba(255, 255, 255, 0.95);
    color: var(--theme2);
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.vr-badge.vr-badge-hd {
    background: rgba(255, 255, 255, 0.1);
    color: var(--theme2);
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(0.4px);
    -webkit-backdrop-filter: blur(0.4px);
    border: 1px solid rgba(255, 255, 255, 0.27);
}

.vr-badge i {
    font-size: 0.9rem;
}

/* Play Button Overlay */
.vr-play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.vr-main-card:hover .vr-play-overlay {
    opacity: 1;
}

.vr-play-button {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

.vr-play-button:hover {
    transform: scale(1.1);
    background: white;
}

.vr-play-button i {
    font-size: 1.8rem;
    color: #54689E;
    margin-left: 5px;
}

/* Main Card Content */
.vr-main-content {
    padding: 25px;
    background: rgba(255, 255, 255, 0.95);
}

.vr-main-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
}

.vr-main-info {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
}

.vr-info-item {
    color: #666;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.vr-info-item i {
    color: #54689E;
    font-size: 1rem;
}

/* Small VR Cards (Right Side) */
.vr-small-card {
    background: linear-gradient(to bottom, rgba(84, 104, 158, 1) 0%, rgba(23, 20, 82, 1) 100%);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
    flex: 1;
}

.vr-small-card:hover {
    transform: translateX(5px);
    background: rgba(30, 35, 70, 0.95);
    border-color: rgba(255, 255, 255, 0.3);
}

.vr-small-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.vr-small-card:hover .vr-small-icon {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.05);
}

.vr-small-icon i {
    color: white;
    font-size: 1.3rem;
}

.vr-small-content {
    flex: 1;
}

.vr-small-badge {
    display: inline-block;
    background: var(--white);
    color: var(--theme2);
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.vr-small-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: white;
    margin-bottom: 8px;
    line-height: 1.3;
}

.vr-small-views {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.vr-small-views i {
    font-size: 0.9rem;
}

.vr-small-badges {
    display: flex;
    gap: 8px;
    margin: 8px 0;
    flex-wrap: wrap;
}

/* Button */
.vr-detail-btn {
    display: inline-block;
    background-color: var(--theme);
    color: var(--white);
    text-align: center;
    padding: 14px 50px;
    border-radius: 20px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    margin: 0 auto;
    letter-spacing: 0.5px;
}

.vr-detail-btn:hover {
    background: linear-gradient(to bottom, #1E1A66 0%, #4F5FA8 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(23, 20, 82, 0.4);
}


.vr-detail-btn:active {
    transform: translateY(-1px);
}

.vr-detail-btn i {
    transition: transform 0.3s ease;
}

.vr-detail-btn:hover i {
    transform: translateX(5px);
}

.vr-detail-btn-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

/* ==================== Responsive Design ==================== */

/* Tablet Landscape - 768px to 991px */
@media (min-width: 768px) and (max-width: 991.98px) {
    .vr-section {
        padding: 70px 0;
    }

    .vr-title {
        font-size: 1.9rem;
    }

    .video-promosi-subtitle {
        font-size: 0.98rem;
    }

    .vr-main-image {
        aspect-ratio: 16 / 9;
    }

    .vr-badges {
        gap: 8px;
    }

    .vr-badge.vr-badge-360,
    .vr-badge.vr-badge-hd {
        padding: 7px 14px;
        font-size: 0.8rem;
    }

    .vr-badge i {
        font-size: 0.85rem;
    }

    .vr-play-button {
        width: 70px;
        height: 70px;
    }

    .vr-play-button i {
        font-size: 1.6rem;
    }

    .vr-main-content {
        padding: 22px;
    }

    .vr-main-title {
        font-size: 1.35rem;
    }

    .vr-info-item {
        font-size: 0.9rem;
    }

    .vr-small-card {
        padding: 18px;
        gap: 18px;
    }

    .vr-small-icon {
        width: 55px;
        height: 55px;
    }

    .vr-small-icon i {
        font-size: 1.2rem;
    }

    .vr-small-badge {
        font-size: 0.72rem;
        padding: 4px 11px;
    }

    .vr-small-title {
        font-size: 1.05rem;
    }

    .vr-small-views {
        font-size: 0.82rem;
    }

    .vr-detail-btn {
        padding: 13px 42px;
        font-size: 0.98rem;
    }
}

/* Mobile reset - restore original stacked layout below 991px */
@media (max-width: 990.98px) {
    .vr-section .row.g-4.mb-5 {
        flex-wrap: wrap;
        align-items: auto;
    }

    .vr-section .row.g-4.mb-5>.col-lg-6 {
        display: block;
        flex: none;
    }

    .vr-main-card {
        flex: auto;
    }

    .vr-small-card {
        flex: auto;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .vr-section {
        padding: 60px 0;
    }

    .vr-title {
        font-size: 1.7rem;
        padding-bottom: 12px;
    }

    .vr-title::after {
        width: 100px;
        height: 3px;
    }

    .video-promosi-subtitle {
        font-size: 0.95rem;
    }

    .vr-main-image {
        height: 280px;
    }

    .vr-badges {
        top: 15px;
        left: 15px;
        gap: 7px;
    }

    .vr-badge.vr-badge-360,
    .vr-badge.vr-badge-hd {
        padding: 6px 12px;
        font-size: 0.75rem;
    }

    .vr-badge i {
        font-size: 0.8rem;
    }

    .vr-play-button {
        width: 65px;
        height: 65px;
    }

    .vr-play-button i {
        font-size: 1.5rem;
    }

    .vr-main-content {
        padding: 20px;
    }

    .vr-main-title {
        font-size: 1.25rem;
        margin-bottom: 12px;
    }

    .vr-main-info {
        gap: 20px;
    }

    .vr-info-item {
        font-size: 0.88rem;
    }

    .vr-small-card {
        padding: 16px;
        gap: 16px;
    }

    .vr-small-icon {
        width: 52px;
        height: 52px;
    }

    .vr-small-icon i {
        font-size: 1.15rem;
    }

    .vr-small-badge {
        font-size: 0.7rem;
        padding: 4px 10px;
    }

    .vr-small-title {
        font-size: 1rem;
    }

    .vr-small-views {
        font-size: 0.8rem;
    }

    .vr-detail-btn {
        padding: 12px 38px;
        font-size: 0.95rem;
    }
}

@media (min-width: 375px) and (max-width: 575.98px) {
    .vr-section {
        padding: 50px 15px;
    }

    .vr-title {
        font-size: 1.5rem;
        padding-bottom: 10px;
    }

    .vr-title::after {
        width: 80px;
        height: 3px;
    }

    .video-promosi-subtitle {
        font-size: 0.9rem;
        padding: 0 10px;
    }

    .vr-main-image {
        height: 240px;
    }

    .vr-badges {
        top: 12px;
        left: 12px;
        gap: 6px;
    }

    .vr-badge.vr-badge-360,
    .vr-badge.vr-badge-hd {
        padding: 5px 10px;
        font-size: 0.7rem;
    }

    .vr-badge i {
        font-size: 0.75rem;
        gap: 4px;
    }

    .vr-play-button {
        width: 55px;
        height: 55px;
    }

    .vr-play-button i {
        font-size: 1.3rem;
    }

    .vr-main-content {
        padding: 18px;
    }

    .vr-main-title {
        font-size: 1.1rem;
        margin-bottom: 10px;
    }

    .vr-main-info {
        gap: 15px;
    }

    .vr-info-item {
        font-size: 0.82rem;
    }

    .vr-info-item i {
        font-size: 0.9rem;
    }

    .vr-small-card {
        padding: 14px;
        gap: 14px;
    }

    .vr-small-icon {
        width: 48px;
        height: 48px;
    }

    .vr-small-icon i {
        font-size: 1.05rem;
    }

    .vr-small-badge {
        font-size: 0.68rem;
        padding: 3px 9px;
    }

    .vr-small-title {
        font-size: 0.92rem;
        margin-bottom: 6px;
    }

    .vr-small-views {
        font-size: 0.75rem;
    }

    .vr-small-views i {
        font-size: 0.8rem;
    }

    .vr-detail-btn {
        padding: 11px 30px;
        font-size: 0.9rem;
        border-radius: 18px;
    }

    .vr-detail-btn-container {
        margin-top: 25px;
    }
}

@media (max-width: 374.98px) {
    .vr-section {
        padding: 45px 12px;
    }

    .vr-title {
        font-size: 1.1rem;
        padding-bottom: 8px;
    }

    .vr-title::after {
        width: 70px;
        height: 2px;
    }

    .video-promosi-subtitle {
        font-size: 0.85rem;
        padding: 0 5px;
    }

    .vr-main-image {
        height: 220px;
    }

    .vr-badges {
        top: 10px;
        left: 10px;
        gap: 5px;
    }

    .vr-badge.vr-badge-360,
    .vr-badge.vr-badge-hd {
        padding: 4px 8px;
        font-size: 0.65rem;
    }

    .vr-badge i {
        font-size: 0.7rem;
    }

    .vr-play-button {
        width: 50px;
        height: 50px;
    }

    .vr-play-button i {
        font-size: 1.2rem;
    }

    .vr-main-content {
        padding: 15px;
    }

    .vr-main-title {
        font-size: 1rem;
        margin-bottom: 8px;
    }

    .vr-main-info {
        gap: 12px;
        flex-direction: column;
    }

    .vr-info-item {
        font-size: 0.78rem;
    }

    .vr-small-card {
        padding: 12px;
        gap: 12px;
    }

    .vr-small-icon {
        width: 44px;
        height: 44px;
    }

    .vr-small-icon i {
        font-size: 1rem;
    }

    .vr-small-badge {
        font-size: 0.65rem;
        padding: 3px 8px;
    }

    .vr-small-title {
        font-size: 0.85rem;
        margin-bottom: 5px;
    }

    .vr-small-views {
        font-size: 0.72rem;
    }

    .vr-detail-btn {
        padding: 10px 25px;
        font-size: 0.85rem;
        border-radius: 16px;
    }

    .vr-detail-btn-container {
        margin-top: 20px;
    }
}

/* ============= Section Insentif Seni =============  */
.insentif-seni-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #54689E 0%, #83A6CF 100%);
    position: relative;
    overflow: hidden;
}

.insentif-seni-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.02);
    pointer-events: none;
}

.insentif-seni-section .container {
    position: relative;
    z-index: 2;
}

/* Image Styling */
.insentif-image {
    text-align: center;
}

.insentif-image img {
    display: block;
    width: 100%;
    height: auto;
    border-bottom-right-radius: 30px;
    border-top-left-radius: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease;
}

.insentif-image:hover img {
    transform: scale(1.02);
}

/* Content Styling */
.insentif-content {
    color: #333;
}

.insentif-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.insentif-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--white);
    border-radius: 2px;
}

.insentif-description {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--white);
    text-align: justify;
    font-weight: 400;
}

/* Button Styling */
.insentif-btn {
    display: inline-block;
    background: linear-gradient(135deg, #3d4a7a 0%, #5068a8 100%);
    color: var(--white) !important;
    padding: 14px 40px;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(61, 74, 122, 0.3);
    transition: all 0.3s ease;
    text-align: center;
    letter-spacing: 0.5px;
}

.insentif-btn:hover {
    background: linear-gradient(135deg, #2d3a5a 0%, #3d5488 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(61, 74, 122, 0.4);
    color: var(--white) !important;
}

.insentif-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(61, 74, 122, 0.3);
}

.insentif-btn i {
    transition: transform 0.3s ease;
}

.insentif-btn:hover i {
    transform: translateX(5px);
}


@media (max-width: 991px) {
    .insentif-seni-section {
        padding: 60px 0;
    }

    .insentif-title {
        font-size: 28px;
        text-align: center;
    }

    .insentif-title::after {
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
    }

    .insentif-separator {
        margin-left: auto;
        margin-right: auto;
    }

    .insentif-description {
        text-align: justify;
    }

    .insentif-btn {
        display: block;
        text-align: center;
        margin: 0 auto;
        max-width: 250px;
    }

    .insentif-content {
        padding-left: 0 !important;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .insentif-title {
        font-size: 21px;
    }

    .insentif-description {
        font-size: 16px;
    }
}

@media (max-width: 576px) {
    .insentif-title {
        font-size: 21px;
    }

    .insentif-description {
        font-size: 0.95rem;
    }

    .insentif-btn {
        padding: 12px 30px;
        font-size: 0.95rem;
    }

    .insentif-seni-section .container {
        padding: 20px;
    }
}

/* ============= Section Sertai Skuad Budaya =============  */
.section-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--white);
    border-radius: 2px;
}

/* Sertai Skuad Budaya */
.sertai-skuad-section {
    padding: 100px 0;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    position: relative;
    overflow: hidden;
}

.sertai-skuad-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.03);
    pointer-events: none;
}

.sertai-skuad-section .container {
    position: relative;
    z-index: 2;
}

/* Content Styling */
.sertai-content {
    color: var(--white);
    text-align: center;
}

.sertai-title {
    font-size: 2.2rem;
    font-weight: 400;
    color: var(--white);
    margin-bottom: 30px;
    line-height: 1.3;
    letter-spacing: 0.5px;
}

.sertai-description {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--white);
    margin-bottom: 30px;
    font-weight: 300;
}

.sertai-tagline {
    font-size: 1rem;
    font-style: normal;
    color: var(--white);
    margin-bottom: 30px;
    font-weight: 300;
    font-style: italic;
}

/* Button Styling */
.sertai-btn {
    display: inline-block;
    background-color: var(--white);
    color: #3d4a7a !important;
    padding: 14px 50px;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    text-align: center;
    letter-spacing: 0.5px;
}

.sertai-btn:hover {
    background-color: #d7dce1;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    color: #3d4a7a !important;
}

.sertai-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Logo Styling */
.sertai-logo {
    text-align: center;
    padding: 20px;
}

.sertai-logo img {
    display: block;
    width: 100%;
    max-width: 350px;
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
    transition: transform 0.3s ease;
}

.sertai-logo:hover img {
    transform: scale(1.05) rotate(2deg);
}

@media (max-width: 1199px) {
    .sertai-skuad-section .sertai-content .sertai-description {
        text-align: center;
    }
}

@media(max-width: 991.98px) {
    .sertai-skuad-section {
        padding: 70px 0;
    }

    .sertai-title {
        font-size: 2rem;
        margin-bottom: 30px;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        position: relative;
        display: inline-block;
        padding-bottom: 15px;
        margin-bottom: 30px !important;
    }

    .sertai-title::after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        width: 80px;
        height: 3px;
        background-color: var(--white);
        border-radius: 2px;
    }

    .sertai-description {
        font-size: 0.95rem;
        margin-bottom: 30px;
    }

    .sertai-tagline {
        font-size: 0.95rem;
        margin-bottom: 30px;
    }

    .sertai-btn {
        padding: 12px 40px;
        font-size: 0.95rem;
    }

    .sertai-logo {
        display: none;
    }
}

@media(max-width: 767.98px) {
    .sertai-skuad-section {
        padding: 60px 0;
    }

    .sertai-title {
        font-size: 1.4rem;
    }

    .sertai-logo img {
        max-width: 250px;
    }
}

@media(max-width: 575px) {
    .sertai-skuad-section {
        padding: 50px 20px;
    }

    .sertai-content {
        text-align: center;
    }

    .sertai-title {
        font-size: 1.2rem;
    }

    .sertai-description {
        font-size: 0.8rem;
        margin-bottom: 30px;
        padding: 0 10px;
    }

    .sertai-tagline {
        font-size: 0.8rem;
        margin-bottom: 30px;
    }

    .sertai-btn {
        padding: 10px 30px;
        font-size: 0.8rem;
    }

    .sertai-logo {
        padding: 30px 20px 0;
    }

    .sertai-logo img {
        max-width: 240px;
    }

    .sertai-skuad-section .col-lg-7 {
        margin-bottom: 25px !important;
    }
}

/* ==================== Section Statistic ==================== */
.statistic-section {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.statistic-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    z-index: 1;
}

.statistic-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(54, 68, 98, 0.25) 0%, rgba(83, 106, 147, 0.61) 100%);
    z-index: 2;
}

.statistic-section .container {
    position: relative;
    z-index: 3;
}

/* Title Styling */
.statistic-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.statistic-title::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--white);
    border-radius: 2px;
}

/* Card Styling */
.statistic-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 35px 25px;
    text-align: center;
    transition: all 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    height: 100%;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.6s ease forwards;
}

.statistic-card:nth-child(1) {
    animation-delay: 0.1s;
}

.statistic-card:nth-child(2) {
    animation-delay: 0.2s;
}

.statistic-card:nth-child(3) {
    animation-delay: 0.3s;
}

.statistic-card:nth-child(4) {
    animation-delay: 0.4s;
}

.statistic-card:nth-child(5) {
    animation-delay: 0.5s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.statistic-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
}

/* Icon Styling */
.statistic-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 25px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.statistic-card:hover .statistic-icon {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1) rotate(5deg);
}

.statistic-icon i {
    font-size: 2.2rem;
    color: var(--white);
}

/* Number Styling */
.statistic-number {
    font-size: 3rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 10px;
    line-height: 1;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

/* Label Styling */
.statistic-label {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Responsive Design */
@media (max-width: 1399px) {
    .statistic-card {
        padding: 30px 15px;
    }

    .statistic-number {
        font-size: 2.5rem;
    }
}

@media (max-width: 1199px) {
    .statistic-title {
        font-size: 2.2rem;
    }

    .statistic-number {
        font-size: 2.5rem;
    }
}

@media (max-width: 991px) {
    .statistic-section {
        padding: 80px 0;
    }

    .statistic-title {
        font-size: 28px;
    }

    .statistic-card {
        padding: 30px 20px;
    }

    .statistic-icon {
        width: 70px;
        height: 70px;
    }

    .statistic-icon i {
        font-size: 2rem;
    }

    .statistic-number {
        font-size: 2.2rem;
    }

    .statistic-label {
        font-size: 0.95rem;
    }
}

@media (max-width: 767px) {
    .statistic-section {
        padding: 60px 0;
        min-height: auto;
    }

    .statistic-title {
        font-size: 21px;
        margin-bottom: 10px;
    }

    .statistic-bg {
        background-attachment: scroll;
    }
}

@media (max-width: 575px) {
    .statistic-title {
        font-size: 21px;
    }

    .statistic-section {
        padding: 50px 0;
    }

    .statistic-card {
        padding: 25px 15px;
    }

    .statistic-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 20px;
    }

    .statistic-icon i {
        font-size: 1.75rem;
    }

    .statistic-number {
        font-size: 2rem;
        margin-bottom: 8px;
    }

    .statistic-label {
        font-size: 0.85rem;
        letter-spacing: 0.5px;
    }
}

/* ==================== Section Video Promosi  ==================== */
.video-promosi-section {
    padding: 80px 0;
    display: flex;
    align-items: center;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(84, 104, 158, 1) 91%);
    position: relative;
    overflow: hidden;
}

.video-promosi-section .container {
    position: relative;
    z-index: 2;
}

.video-promosi-title {
    font-size: 2.5rem;
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.video-promosi-title::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--theme);
    border-radius: 2px;
}

.video-promosi-subtitle {
    font-size: 1.1rem;
    color: var(--theme);
    margin-top: 15px;
}

.video-two-column-wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 30px;
}

/* Left Column - Main Video */
.video-main-column {
    flex: 0 0 62%;
}

.video-main-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.video-main-info-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 25px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.video-main-info-overlay .video-main-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--white);
    margin: 0;
    line-height: 1.4;
}

.video-main-info-overlay .video-main-duration {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 20px;
    font-size: 0.9rem;
    color: var(--white);
    width: fit-content;
}

.video-main-card:hover {
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6);
    transform: translateY(-3px);
}

.video-main-content {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #000;
}

.video-main-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.video-main-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}

.video-main-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: linear-gradient(to top, rgba(23, 20, 82, 0.7) 0%, rgba(180, 196, 230, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
}

.video-main-card:hover .video-main-overlay {
    background: rgba(0, 0, 0, 0.5);
}

.video-main-play-btn {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
    border: 4px solid var(--white);
}

.video-main-card:hover .video-main-play-btn {
    background: var(--white);
}

.video-main-card:hover .video-main-play-btn i {
    color: var(--theme2);
}

.video-main-play-btn i {
    font-size: 30px;
    margin-left: 2px;
    color: var(--white);
}

.video-main-info {
    padding: 20px 25px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
}

.video-main-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 8px;
    line-height: 1.4;
}

.video-preview-column {
    flex: 0 0 38%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.video-preview-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

.video-preview-card {
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    max-height: calc(50% - 10px);
}

.video-preview-info-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.video-preview-info-overlay .video-preview-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--white);
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-transform: capitalize;
}

.video-preview-info-overlay .video-preview-duration {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 15px;
    font-size: 0.8rem;
    color: var(--white);
    width: fit-content;
}


.video-preview-card:hover {
    transform: translateY(-3px);
}

.video-preview-content {
    position: relative;
    width: 100%;
    flex: 1;
    /* background: #1a1a1a; */
    min-height: 0;
}

.video-preview-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.video-preview-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to top, rgba(23, 20, 82, 0.7) 0%, rgba(180, 196, 230, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
    transition: all 0.3s ease;
}

.video-preview-play-icon {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    border: 3px solid var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.video-preview-card:hover .video-preview-play-icon {
    background: var(--white);
    transform: scale(1.1);
}

.video-preview-play-icon i {
    font-size: 20px;
    color: var(--white);
    margin-left: 2px;
}

.video-preview-card:hover .video-preview-play-icon i {
    color: var(--theme2);
}

.video-preview-info {
    padding: 12px 15px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    flex-shrink: 0;
}

.video-preview-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 5px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.video-preview-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 0;
}

.video-preview-nav-btn {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.video-preview-nav-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    transform: scale(1.1);
}

.video-preview-nav-btn:active:not(:disabled) {
    transform: scale(0.95);
}

.video-preview-nav-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.video-preview-nav-btn i {
    font-size: 18px;
    color: #ffffff;
}

.video-preview-pagination {
    display: flex;
    gap: 8px;
    align-items: center;
}

.preview-pagination-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: all 0.3s ease;
}

.preview-pagination-dot:hover {
    background: rgba(255, 255, 255, 0.7);
    transform: scale(1.2);
}

.preview-pagination-dot.active {
    background: rgba(255, 255, 255, 1);
    width: 12px;
    height: 12px;
}

/* Empty State */
.video-empty-state {
    text-align: center;
    padding: 80px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.video-empty-icon {
    margin-bottom: 25px;
}

.video-empty-icon i {
    font-size: 5rem;
    color: rgba(255, 255, 255, 0.5);
}

.video-empty-title {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
}

.video-empty-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 991.98px) {
    .video-promosi-section {
        padding: 60px 0;
    }

    .video-promosi-title {
        font-size: 28px;
        padding-bottom: 12px;
    }

    .video-promosi-subtitle {
        font-size: 1rem;
        margin-top: 12px;
    }

    .video-two-column-wrapper {
        flex-direction: column;
        gap: 25px;
        margin-bottom: 25px;
    }

    .video-main-column {
        flex: 0 0 100%;
        width: 100%;
    }

    .video-main-card {
        border-radius: 16px;
    }

    .video-main-play-btn {
        width: 70px;
        height: 70px;
        border-width: 3px;
    }

    .video-main-play-btn i {
        font-size: 28px;
    }

    .video-main-info-overlay .video-main-title {
        font-size: 1.15rem;
    }

    .video-main-info-overlay {
        padding: 15px 20px;
    }

    .video-preview-column {
        flex: 0 0 100%;
        width: 100%;
        height: auto !important;
        overflow: visible;
    }

    .video-preview-list {
        flex-direction: row;
        gap: 15px;
        height: auto !important;
    }

    .video-preview-card {
        flex: 0 0 calc(50% - 7.5px);
        max-height: none;
        min-height: 200px;
    }

    .video-preview-content {
        aspect-ratio: 16/9;
    }

    .video-preview-play-icon {
        width: 45px;
        height: 45px;
        border-width: 2.5px;
    }

    .video-preview-play-icon i {
        font-size: 18px;
    }

    .video-preview-info-overlay .video-preview-title {
        font-size: 0.9rem;
        -webkit-line-clamp: 2;
    }

    .video-preview-info-overlay {
        padding: 10px 12px;
    }

    .video-preview-navigation {
        margin-top: 5px;
        gap: 12px;
    }

    .video-preview-nav-btn {
        width: 42px;
        height: 42px;
    }

    .video-preview-nav-btn i {
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .video-promosi-section {
        padding: 50px 0;
    }

    .video-promosi-title {
        font-size: 1.3rem;
    }

    .video-promosi-title::after {
        width: 100px;
        height: 3px;
    }

    .video-promosi-subtitle {
        font-size: 0.8rem;
        margin-top: 10px;
    }

    .video-two-column-wrapper {
        gap: 20px;
        margin-bottom: 20px;
    }

    .video-main-card {
        border-radius: 14px;
    }

    .video-main-play-btn {
        width: 65px;
        height: 65px;
    }

    .video-main-play-btn i {
        font-size: 26px;
    }

    .video-main-info-overlay .video-main-title {
        font-size: 1.05rem;
    }

    .video-main-info-overlay {
        padding: 12px 18px;
    }

    .video-preview-list {
        flex-direction: row;
        gap: 15px;
    }

    .video-preview-card {
        flex: 0 0 calc(50% - 7.5px);
        min-height: 180px;
        border-radius: 12px;
    }

    .video-preview-play-icon {
        width: 42px;
        height: 42px;
    }

    .video-preview-play-icon i {
        font-size: 17px;
    }

    .video-preview-info-overlay .video-preview-title {
        font-size: 0.88rem;
    }

    /* Navigation */
    .video-preview-nav-btn {
        width: 40px;
        height: 40px;
    }

    .video-preview-nav-btn i {
        font-size: 16px;
    }

    .preview-pagination-dot {
        width: 8px;
        height: 8px;
    }

    .preview-pagination-dot.active {
        width: 10px;
        height: 10px;
    }

    /* Empty state */
    .video-empty-state {
        padding: 60px 20px;
        border-radius: 16px;
    }

    .video-empty-icon i {
        font-size: 4rem;
    }

    .video-empty-title {
        font-size: 1.5rem;
    }

    .video-empty-text {
        font-size: 1rem;
    }
}

@media (max-width: 575.98px) {
    .video-promosi-section {
        padding: 60px 20px;
    }

    .video-promosi-title {
        font-size: 1rem;
    }

    .video-promosi-subtitle {
        font-size: 0.7rem;
        line-height: 16px;
    }

    .video-main-play-btn {
        width: 60px;
        height: 60px;
    }

    .video-main-play-btn i {
        font-size: 30px;
    }

    .video-preview-play-icon {
        width: 40px;
        height: 40px;
    }

    .video-preview-play-icon i {
        font-size: 16px;
    }

    .video-two-column-wrapper {
        gap: 20px;
        margin-bottom: 20px;
    }
}

@media (max-width: 480.98px) {
    .video-main-info-overlay .video-main-title {
        font-size: 0.6rem;
    }

    .video-preview-info-overlay .video-preview-title {
        font-size: 0.6rem;
    }
}

/* ==================== Section Ruang Promosi Program  ==================== */
.promosi-program-section {
    padding: 80px 0;
    display: flex;
    align-items: center;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(84, 104, 158, 1) 91%);
    position: relative;
    overflow: hidden;
}

.promosi-program-section .container {
    position: relative;
    z-index: 2;
}

.promosi-program-title {
    font-size: 2.5rem;
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
    letter-spacing: 0.5px;
}

.promosi-program-title::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--theme);
    border-radius: 2px;
}

/* Layout Wrapper */
.promosi-layout-wrapper {
    transform: scale(0.75);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    transform-origin: center top;
    margin-bottom: -11.5%;
}

.promosi-layout-wrapper .row {
    display: flex;
    align-items: stretch;
}

.promosi-layout-wrapper .row>[class*="col-"] {
    display: flex;
    flex-direction: column;
}

/* Left Column - Activity List */
.promosi-list-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 608px;
}

.promosi-list-card {
    background: white;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    min-height: 140px;
}

.promosi-list-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: transparent;
    transition: all 0.3s ease;
}

.promosi-list-card:hover {
    transform: translateX(8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.promosi-list-card.active {
    background: linear-gradient(to bottom, rgba(60, 90, 171, 1) 0%, rgba(23, 20, 82, 1) 100%);
    transform: translateX(8px);
}

.promosi-list-card.active .promosi-list-title,
.promosi-list-card.active .promosi-list-meta-item,
.promosi-list-card.active .promosi-status-badge {
    color: white;
}

.promosi-list-card.active .promosi-list-meta-item i {
    color: rgba(255, 255, 255, 0.9);
}

.promosi-list-card.active .promosi-list-arrow i {
    color: white;
}

.promosi-list-content {
    flex: 1;
}

.promosi-status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.status-ongoing {
    background-color: #10b981;
    color: white;
}

.status-upcoming {
    background-color: #3b82f6;
    color: white;
}

.promosi-list-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: #2d3748;
    margin-bottom: 12px;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.promosi-list-meta {
    display: flex;
    flex-direction: column;
}

.promosi-list-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6b7280;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.promosi-list-meta-item i {
    width: 16px;
    color: var(--theme2);
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: color 0.3s ease;
}

.promosi-list-arrow {
    margin-left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--theme2);
    border-radius: 50%;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.promosi-list-card.active .promosi-list-arrow {
    background: rgba(255, 255, 255, 0.2);
}

.promosi-list-arrow i {
    color: var(--theme2);
    font-size: 1rem;
    transition: color 0.3s ease;
}

.promosi-empty-message {
    text-align: center;
    padding: 40px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    border: 2px dashed rgba(255, 255, 255, 0.3);
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.promosi-empty-message i {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 15px;
}

.promosi-empty-message p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    margin: 0;
}

/* Right Column - Preview */
.promosi-preview-container {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    height: 787px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.promosi-preview-image {
    width: 100%;
    height: 100%;
    position: relative;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
}

.promosi-preview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.promosi-preview-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.promosi-preview-placeholder i {
    font-size: 6rem;
    color: rgba(255, 255, 255, 0.7);
}

.promosi-preview-placeholder-large {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 40px;
    text-align: center;
}

.promosi-preview-placeholder-large i {
    font-size: 4rem;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.8);
}

.promosi-preview-placeholder-large h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: white;
}

.promosi-preview-placeholder-large p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 300px;
}

.promosi-preview-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 50%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.preview-status {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    color: white;
    align-self: flex-start;
}

.preview-date-range {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    margin-top: 5px;
}

.preview-date-range i {
    font-size: 1.1rem;
}

.promosi-preview-title {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    margin: 0;
    line-height: 1.3;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

.promosi-preview-location {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.1rem;
}

.promosi-preview-location i {
    font-size: 1.2rem;
}

.promosi-preview-btn {
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.promosi-preview-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

.promosi-preview-btn i {
    color: var(--white);
    font-size: 1.4rem;
}

/* View More Button */
.promosi-view-more-container {
    text-align: center;
}

.promosi-view-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 40px;
    background: #54689E;
    color: var(--white);
    border: 2px solid var(--white);
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.promosi-view-more-btn:hover {
    background: #d7dce1;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    color: #54689E !important;
}

.promosi-view-more-btn i {
    font-size: 0.9rem;
    transition: transform 0.3s ease;
}

.promosi-view-more-btn:hover i {
    transform: translateX(4px);
}

.promosi-empty-state {
    text-align: center;
    padding: 80px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.promosi-empty-icon {
    margin-bottom: 25px;
}

.promosi-empty-icon i {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.6);
}

.promosi-empty-title {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
}

.promosi-empty-text {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 991.98px) {
    .promosi-program-section {
        padding: 60px 0;
    }

    .promosi-program-title {
        font-size: 26px;
    }

    .promosi-layout-wrapper {
        transform: scale(1);
        margin-bottom: 0;
        transform-origin: unset;
    }

    .promosi-layout-wrapper .row {
        display: flex;
        flex-direction: column;
    }

    .promosi-layout-wrapper .col-lg-7 {
        order: 1;
        margin-bottom: 0;
    }

    .promosi-layout-wrapper .col-lg-5 {
        order: 2;
        margin-top: 24px;
    }

    .promosi-list-container {
        min-height: auto;
    }

    .promosi-preview-container {
        height: 400px;
        min-height: 400px;
        margin-top: 0;
    }

    .promosi-preview-title {
        font-size: 1.6rem;
    }

    .promosi-preview-overlay {
        padding: 30px;
    }

    .promosi-preview-btn {
        width: 50px;
        height: 50px;
        bottom: 30px;
        right: 30px;
    }

    .promosi-preview-btn i {
        font-size: 1.2rem;
    }

    .promosi-preview-placeholder-large i {
        font-size: 3rem;
    }

    .promosi-preview-placeholder-large h3 {
        font-size: 1.3rem;
    }

    .promosi-view-more-container {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .promosi-program-section {
        padding: 50px 0;
    }

    .promosi-program-title {
        font-size: 1.2rem;
        padding-bottom: 12px;
    }

    .promosi-program-title::after {
        width: 100px;
        height: 3px;
    }

    .promosi-list-card {
        padding: 20px;
        min-height: auto;
    }

    .promosi-list-title {
        font-size: 1rem;
    }

    .promosi-list-meta-item {
        font-size: 0.85rem;
    }

    .promosi-list-arrow {
        width: 36px;
        height: 36px;
    }

    .promosi-list-arrow i {
        font-size: 0.9rem;
    }

    .promosi-preview-container {
        height: 350px;
        min-height: 350px;
    }

    .promosi-preview-title {
        font-size: 1.3rem;
    }

    .promosi-preview-location {
        font-size: 0.95rem;
    }

    .preview-date-range {
        font-size: 0.9rem;
    }

    .promosi-preview-overlay {
        padding: 24px;
    }

    .promosi-preview-btn {
        width: 45px;
        height: 45px;
        bottom: 24px;
        right: 24px;
    }

    .promosi-preview-btn i {
        font-size: 1.1rem;
    }

    .promosi-view-more-container {
        margin-top: 40px;
    }

    .promosi-view-more-btn {
        padding: 12px 35px;
        font-size: 0.95rem;
    }

    .promosi-preview-placeholder-large i {
        font-size: 2.5rem;
    }

    .promosi-preview-placeholder-large h3 {
        font-size: 1.1rem;
    }

    .promosi-preview-placeholder-large p {
        font-size: 0.9rem;
    }
}

@media (max-width: 575.98px) {
    .promosi-program-section {
        padding: 50px 20px;
    }

    .promosi-program-title {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .promosi-program-section {
        padding: 40px 0;
    }

    .promosi-program-title {
        font-size: 1.1rem;
    }

    .promosi-list-card {
        padding: 16px;
    }

    .promosi-list-title {
        font-size: 0.95rem;
    }

    .promosi-preview-container {
        height: 300px;
        min-height: 300px;
    }

    .promosi-preview-title {
        font-size: 1.1rem;
    }

    .promosi-view-more-container {
        margin-top: 30px;
    }

    .promosi-preview-placeholder-large {
        padding: 20px;
    }

    .promosi-preview-placeholder-large i {
        font-size: 2rem;
    }

    .promosi-preview-placeholder-large h3 {
        font-size: 1rem;
    }

    .promosi-preview-placeholder-large p {
        font-size: 0.85rem;
    }

    .preview-status {
        font-size: 0.7rem;
        padding: 4px 10px;
    }

    .promosi-status-badge {
        font-size: 0.6rem;
        padding: 3px 8px;
    }
}

/* ==================== Section Tiket Digital ==================== */
.tiket-digital-section {
    padding: 80px 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(84, 104, 158, 1) 91%);
    position: relative;
    overflow: hidden;
}

.tiket-digital-section .container {
    position: relative;
    z-index: 2;
}

.tiket-digital-title {
    font-size: 2.5rem;
    font-weight: bold;
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    margin-bottom: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.tiket-digital-title::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 120px;
    height: 4px;
    background-color: var(--theme);
    border-radius: 2px;
}

/* Swiper Wrapper for Tiket Digital */
.tiket-swiper-wrapper {
    position: relative;
    padding: 0 60px;
    transform: scale(0.8);
    transform-origin: center top;
    margin-bottom: -11.5%;
}

/* Navigation Buttons */
.tiket-swiper-button-prev,
.tiket-swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.tiket-swiper-button-prev {
    left: 0;
}

.tiket-swiper-button-next {
    right: 0;
}

.tiket-swiper-button-prev:hover,
.tiket-swiper-button-next:hover {
    background: white;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.tiket-swiper-button-prev i,
.tiket-swiper-button-next i {
    color: #5B73A3;
    font-size: 1.2rem;
}

/* Swiper Container */
.tiket-swiper {
    overflow: hidden !important;
    width: 100%;
}

.tiket-swiper .swiper-wrapper {
    display: flex !important;
}

.tiket-swiper .swiper-slide {
    height: auto;
    display: flex;
}

/* CloudJoi Card Styling */
.tiket-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    width: 100%;
    border: none;
}

.tiket-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

/* Card Image - CloudJoi Style */
.tiket-card-image {
    width: 100%;
    aspect-ratio: 2/3;
    overflow: hidden;
    position: relative;
    background: #f9fafb;
    flex-shrink: 0;
}

.tiket-card-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.tiket-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}

/* Badge positioning */
.tiket-card-image .badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(88, 80, 180, 0.95);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
    z-index: 1;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Card Body - CloudJoi Style */
.tiket-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #ffffff;
}

/* Card Title - CloudJoi Style */
.tiket-card-title-wrap {
    margin-bottom: 12px;
}

.tiket-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}

.tiket-card-link {
    color: #111827;
    text-decoration: none;
    transition: color 0.3s ease;
}

.tiket-card-link:hover {
    color: #5850B4;
}

.tiket-card-meta {
    margin-bottom: 20px;
    flex-grow: 1;
}

.tiket-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #6b7280;
    font-size: 0.82rem;
    margin-bottom: 9px;
    line-height: 1.5;
}

.tiket-meta-item:last-child {
    margin-bottom: 0;
}

.tiket-meta-item i {
    color: var(--theme);
    font-size: 0.85rem;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Buttons - CloudJoi Style */
.tiket-card-body .mt-auto {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.tiket-btn-info {
    width: 100%;
    padding: 11px 18px;
    background: transparent;
    color: #5850B4;
    border: 2px solid #5850B4;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    text-align: center;
}

.tiket-btn-info:hover {
    background: #5850B4;
    color: white;
    box-shadow: 0 4px 12px rgba(88, 80, 180, 0.3);
}

.tiket-btn-info i {
    font-size: 0.8rem;
}

.tiket-btn-buy {
    width: 100%;
    padding: 11px 18px;
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    text-align: center;
}

.tiket-btn-buy:hover {
    background: linear-gradient(135deg, #3d2d8f 0%, #2d1d6f 100%);
    box-shadow: 0 6px 16px rgba(88, 80, 180, 0.4);
    transform: translateY(-2px);
    color: white;
}

.tiket-btn-buy i {
    font-size: 0.8rem;
}

.tiket-detail-btn {
    display: inline-block;
    background-color: var(--white);
    color: #3d4a7a !important;
    text-align: center;
    padding: 14px 50px;
    border-radius: 20px;
    border: none;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    margin: 0 auto;
    letter-spacing: 0.5px;
}

.tiket-detail-btn:hover {
    background-color: #d7dce1;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    color: #3d4a7a !important;
}

.tiket-detail-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(61, 74, 122, 0.3);
}

.tiket-detail-btn i {
    transition: transform 0.3s ease;
}

.tiket-detail-btn:hover i {
    transform: translateX(5px);
}

.tiket-detail-btn-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tiket-empty-state {
    text-align: center;
    padding: 80px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 2px dashed rgba(255, 255, 255, 0.3);
}

.tiket-empty-icon {
    margin-bottom: 25px;
}

.tiket-empty-icon i {
    font-size: 5rem;
    color: rgba(255, 255, 255, 0.5);
}

.tiket-empty-title {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
}

.tiket-empty-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 1199px) {
    .tiket-swiper-wrapper {
        padding: 0 50px;
    }

    .tiket-swiper-button-prev,
    .tiket-swiper-button-next {
        width: 45px;
        height: 45px;
    }
}

@media (min-width: 1024px) {
    .tiket-swiper {
        padding: 0 !important;
    }

    .tiket-swiper .swiper-slide {
        width: calc((100% - 60px) / 3) !important;
        flex-shrink: 0 !important;
        margin-right: 30px !important;
    }

    .tiket-swiper .swiper-slide:last-child {
        margin-right: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .tiket-digital-title {
        font-size: 30px;
    }

    .tiket-detail-btn-container {
        margin-top: -135px;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .tiket-swiper .swiper-slide {
        width: calc((100% - 25px) / 2) !important;
        flex-shrink: 0 !important;
        margin-right: 25px !important;
    }

    .tiket-swiper .swiper-slide:last-child {
        margin-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .tiket-digital-title {
        font-size: 1.4rem;
    }

    .tiket-swiper-wrapper {
        padding: 0 40px;
    }

    .tiket-swiper-button-prev,
    .tiket-swiper-button-next {
        width: 40px;
        height: 40px;
    }

    .tiket-swiper-button-prev i,
    .tiket-swiper-button-next i {
        font-size: 1rem;
    }

    .tiket-card-title-wrap {
        min-height: auto;
    }

    .tiket-card-body {
        padding: 18px;
    }

    .tiket-detail-btn {
        padding: 12px 35px;
        font-size: 0.95rem;
    }

    .tiket-swiper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .tiket-swiper .swiper-wrapper {
        align-items: stretch !important;
    }

    .tiket-swiper .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        flex-shrink: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    .tiket-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .tiket-detail-btn-container {
        margin-top: -200px;
    }
}

@media (max-width: 575px) {
    .tiket-digital-section {
        padding: 60px 20px;
    }

    .tiket-digital-title {
        font-size: 1rem;
    }

    .tiket-swiper-wrapper {
        padding: 0 35px;
    }

    .tiket-swiper-button-prev,
    .tiket-swiper-button-next {
        width: 35px;
        height: 35px;
    }

    .tiket-swiper .swiper-slide {
        width: 100% !important;
    }

    .tiket-detail-btn {
        padding: 12px 35px;
        font-size: 0.95rem;
    }

    .tiket-detail-btn-container {
        margin-top: -160px;
    }
}

.browse-hilisht {
    display: flex;
    align-items: center;
    gap: 10px;
}

.browse-hilisht .b-hilisht-text {
    font-size: 16px;
    font-weight: 600;
    color: var(--white);
}

.browse-hilisht .b-hilisht-item {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    padding: 2px 16px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
}

.browse-hilisht .b-hilisht-item:hover {
    cursor: pointer;
}

.browse-hilisht .arrow-ele {
    position: absolute;
    top: 100%;
    left: 160px;
}

.hero-section .swiper-slide.swiper-slide-active .hero-bg {
    -webkit-transform: scale(1.35);
    transform: scale(1.35);
}

.hero-section .swiper-slide.swiper-slide-active .hero-content {
    opacity: 1;
    transform: translateY(0px);
    transition: all 2500ms ease;
}

.hero-section .swiper-slide.swiper-slide-active .hero-button {
    opacity: 1;
    transform: translateY(0px);
    transition: all 2500ms ease;
}

.hero-section.hero-section2 {
    background: url(../../assets/img/hero/hero2-bg.png) no-repeat center center;
    background-size: cover;
    padding: 145px 0 0;
}

.hero-section.hero-section2 .hero-wrap2 {
    background: url(../../assets/img/hero/hero-thumb2.png) no-repeat center center;
    background-size: cover;
    border-radius: 12px;
    padding: 149px 0 149px;
}

.hero-section.hero-section2 .hero-wrap2 .hero-content {
    position: relative;
    z-index: 1;
    transform: initial;
    opacity: initial;
    max-width: 1171px;
    margin: 0 auto;
}

.hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form {
    background: transparent;
    padding: 0 0;
}

.hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
    font-size: 70px;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.hero-section.hero-section2 .container {
    max-width: 1475px;
    margin: 0 auto;
}

.hero-section.hero-section2 .browse-hilisht {
    padding: 50px 0;
    display: flex;
    justify-content: center;
}

.hero-section.hero-section2 .browse-hilisht .arrow-eles {
    position: absolute;
    left: 23%;
    top: 0;
    width: 90px;
    transform: rotate(32deg);
}

@media (max-width: 1399px) {
    .hero-section.hero-section2 {
        padding: 145px 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 {
        padding: 149px 0 149px;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content {
        max-width: 1171px;
        margin: 0 auto;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form {
        background: transparent;
        padding: 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 90%;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
        font-size: 70px;
        text-transform: uppercase;
        margin-bottom: 40px;
    }

    .hero-section.hero-section2 .container {
        max-width: 1475px;
        margin: 0 auto;
    }

    .hero-section.hero-section2 .browse-hilisht {
        padding: 50px 0;
    }

    .hero-section.hero-section2 .browse-hilisht .arrow-eles {
        left: 23%;
        width: 90px;
    }
}

@media (max-width: 1199px) {
    .hero-section.hero-section2 {
        padding: 135px 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 {
        padding: 119px 0 119px;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 90%;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
        font-size: 56px;
        margin-bottom: 40px;
    }

    .hero-section.hero-section2 .browse-hilisht {
        padding: 50px 0;
    }

    .hero-section.hero-section2 .browse-hilisht .arrow-eles {
        left: 23%;
        width: 90px;
    }
}

@media (max-width: 991px) {
    .hero-section.hero-section2 {
        padding: 125px 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 {
        padding: 119px 0 119px;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 90%;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
        font-size: 56px;
        margin-bottom: 40px;
    }

    .hero-section.hero-section2 .browse-hilisht {
        padding: 50px 0;
    }

    .hero-section.hero-section2 .browse-hilisht .arrow-eles {
        left: 23%;
        width: 90px;
    }
}

@media (max-width: 767px) {
    .hero-section.hero-section2 {
        padding: 85px 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 {
        padding: 90px 0 110px;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 90%;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
        font-size: 48px;
        margin-bottom: 40px;
    }

    .hero-section.hero-section2 .browse-hilisht {
        padding: 50px 0;
    }

    .hero-section.hero-section2 .browse-hilisht .arrow-eles {
        left: 23%;
        width: 90px;
    }
}

@media (max-width: 767px) {
    .hero-section.hero-section2 {
        padding: 85px 0 0;
    }

    .hero-section.hero-section2 .hero-wrap2 {
        padding: 90px 0 100px;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 95%;
    }

    .hero-section.hero-section2 .hero-wrap2 .hero-content h1 {
        font-size: 36px;
        margin-bottom: 30px;
    }

    .hero-section.hero-section2 .browse-hilisht {
        padding: 50px 0;
    }

    .hero-section.hero-section2 .browse-hilisht .arrow-eles {
        left: 23%;
        width: 90px;
    }
}

.hero-section.hero-section3 {
    background: url(../../assets/img/hero/hero3-bg.jpg) no-repeat center center;
    background-size: cover;
    padding: 271px 0 80px;
    z-index: 1;
    position: relative;
}

.hero-section.hero-section3 .hero-wrap2 {
    background: transparent;
    padding: 0 0 0;
}

.hero-section.hero-section3 .hero-wrap2 .hero-content {
    position: relative;
    z-index: 1;
    transform: initial;
    opacity: initial;
    max-width: 1171px;
    margin: 0 0 0 0;
}

.hero-section.hero-section3 .hero-wrap2 .hero-content .listing-search-form {
    background: transparent;
    padding: 0 0;
}

.hero-section.hero-section3 .hero-wrap2 .hero-content h1 {
    font-size: 60px;
    text-transform: uppercase;
    margin-bottom: 40px;
    color: var(--black);
}

.hero-section.hero-section3 .hero-wrap2 .browse-hilisht {
    padding: 0 0;
    margin-top: 30px;
}

.hero-section.hero-section3 .hero-wrap2 .browse-hilisht .b-hilisht-text {
    color: var(--black);
}

.hero-section.hero-section3 .hero-wrap2 .browse-hilisht .b-hilisht-item {
    background-color: rgba(22, 22, 22, 0.2);
    transition: all 0.4s;
}

.hero-section.hero-section3 .hero-wrap2 .browse-hilisht .b-hilisht-item:hover {
    background: var(--theme);
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap {
    max-width: 743px;
    gap: 24px;
    position: absolute;
    top: -155px;
    right: 0;
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner {
    display: grid;
    gap: 24px;
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 {
    width: 100%;
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 img {
    width: 100%;
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 {
    width: 100%;
    max-width: 419px;
}

.hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 img {
    width: 100%;
}

@media (max-width: 1399px) {
    .hero-section.hero-section3 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap {
        max-width: 650px;
        gap: 14px;
        position: absolute;
        top: -155px;
        right: 0;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner {
        display: grid;
        gap: 14px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 img {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 {
        max-width: 300px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 img {
        width: 100%;
    }
}

@media (max-width: 1199px) {
    .hero-section.hero-section3 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero-content h1 {
        font-size: 44px;
        line-height: 56px;
        margin-bottom: 40px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap {
        max-width: 550px;
        gap: 14px;
        top: -165px;
        right: 0;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner {
        display: grid;
        gap: 14px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 img {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 {
        max-width: 300px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 img {
        width: 100%;
    }
}

@media (max-width: 991px) {
    .hero-section.hero-section3 {
        padding: 150px 0 80px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero-content .listing-search-form .search-wrap {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero-content h1 {
        font-size: 44px;
        line-height: 56px;
        margin-bottom: 30px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap {
        max-width: 100%;
        width: 100%;
        position: initial;
        gap: 14px;
        top: -165px;
        right: 0;
        margin-top: 30px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner {
        display: grid;
        gap: 14px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .hero3-thumb-inner .thumb1 img {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 {
        max-width: 300px;
    }

    .hero-section.hero-section3 .hero-wrap2 .hero3-thumb-wrap .thumb2 img {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .hero-section.hero-section3 {
        padding: 130px 0 80px;
    }

    .hero-section.hero-section3 .hero-content .listing-search-form .search-wrap {
        width: 100%;
    }

    .hero-section.hero-section3 .hero-content h1 {
        font-size: 36px;
        line-height: 56px;
        margin-bottom: 30px;
    }
}

.breadcrumb-section {
    background: url(../../assets/img/hero/breadcrumnd-banner.png) no-repeat center center;
    background-size: cover;
    padding: 208px 0 108px;
    position: relative;
    z-index: 1;
}

.breadcrumb-section .breadcrumb-content h2 {
    margin-bottom: 16px;
    color: var(--white);
}

.breadcrumb-section .breadcrumb-content .bread-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.breadcrumb-section .breadcrumb-content .bread-list li,
.breadcrumb-section .breadcrumb-content .bread-list a {
    font-size: 14px;
    font-weight: 600;
}

.breadcrumb-section::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0, 0, 0, 0.1);
    z-index: -1;
}

.breadcrumb-section.listin-details-breadcrumb {
    background: url(../../assets/img/hero/listin-details-bg.png) no-repeat center center;
    height: 700px;
    background-size: cover;
}

.breadcrumb-section.listin-details-breadcrumb .form-info {
    position: absolute;
    right: 17%;
    bottom: 40px;
    z-index: 1;
}

.breadcrumb-section.listin-details-breadcrumb .form-info button {
    width: 50px;
    height: 50px;
    transition: all 0.5s;
}

.breadcrumb-section.listin-details-breadcrumb .form-info button i {
    transition: all 0.4s;
}

.breadcrumb-section.listin-details-breadcrumb .form-info button:hover {
    background: var(--theme);
}

.breadcrumb-section.listin-details-breadcrumb .form-info button:hover i {
    color: var(--white);
}

.breadcrumb-section.listin-details-breadcrumb .form-info button:hover img {
    filter: brightness(25);
}

@media (max-width: 1399px) {
    .breadcrumb-section.listin-details-breadcrumb {
        height: 500px;
    }
}

@media (max-width: 991px) {
    .breadcrumb-section.listin-details-breadcrumb {
        height: 400px;
    }
}

@media (max-width: 767px) {
    .breadcrumb-section.listin-details-breadcrumb {
        height: 300px;
    }
}

@media (max-width: 991px) {
    .breadcrumb-section {
        padding: 170px 0 100px;
    }
}

@media (max-width: 767px) {
    .breadcrumb-section {
        padding: 130px 0 75px;
    }
}

.rear-view {
    padding: 50px 0;
}

.rear-view .share-area li button {
    transition: all 0.4s;
}

.rear-view .share-area li button:hover {
    background: var(--theme);
    color: var(--white);
}

.rear-view .share-area li button:hover i {
    color: var(--white);
}

.rear-view .share-area li button:hover img {
    filter: brightness(25);
}

.rear-view .rear-admin {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rear-view .rear-admin .content h3 {
    margin-bottom: 12px;
}

.rear-view .rear-admin .content .line {
    height: 16px;
    width: 1px;
    background: var(--indef);
}

@media (max-width: 991px) {
    .rear-view .rear-admin {
        display: grid;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 20px;
        text-align: center;
    }

    .rear-view .rear-admin .admin-thumb {
        margin: 0 auto;
    }

    .rear-view .rear-admin .content h3 {
        margin-bottom: 12px;
    }

    .rear-view .rear-admin .content .line {
        height: 16px;
        width: 1px;
        background: var(--indef);
    }
}

.listin-details-section {
    padding: 60px 0 120px;
}

.listin-details-section iframe {
    width: 100%;
    height: 300px;
    border-radius: 10px 10px 0 0;
}

.listin-details-section .posted-content-area {
    padding: 50px 50px;
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
    background: var(--white);
}

.listin-details-section .posted-content-area .social-area a {
    background: rgb(245, 245, 245);
    transition: all 0.4s;
}

.listin-details-section .posted-content-area .social-area a i {
    color: var(--black);
    transition: all 0.4s;
}

.listin-details-section .posted-content-area .social-area a:hover {
    background: var(--theme);
}

.listin-details-section .posted-content-area .social-area a:hover i {
    color: var(--white);
}

@media (max-width: 1199px) {
    .listin-details-section .posted-content-area {
        padding: 30px 24px;
    }
}

.additional-info {
    padding: 50px 50px;
    background-color: rgb(245, 245, 245);
    border-radius: 5px;
}

@media (max-width: 1199px) {
    .additional-info {
        padding: 30px 24px;
    }
}

.additional-info.style-radisu .common-form input {
    border-radius: 7px;
}

.additional-info.style-radisu .common-form textarea {
    border-radius: 7px;
    padding-bottom: 105px;
}

.common-form input,
.common-form textarea {
    width: 100%;
    padding: 10px 14px 11px;
    font-size: 14px;
    border: unset;
    margin-bottom: 10px;
    color: rgb(131, 130, 130);
}

.listin-left-content .line {
    width: 100%;
    height: 1px;
    background-color: #e2dfeb;
}

.listin-left-content .review-pop {
    position: absolute;
    width: 96px;
    height: 96px;
    background: var(--theme);
    z-index: 1;
}

.listin-left-content .review-pop i {
    font-size: 24px;
    color: var(--white);
}

.listin-left-content .review-pop::before,
.listin-left-content .review-pop::after {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    border: 1px solid var(--theme);
    border-radius: 50%;
}

.listin-left-content .review-pop::before {
    transition: all 0.3s;
    animation: scsl 2s linear infinite;
}

.listin-left-content .review-pop::after {
    transition: all 0.4s;
    animation: scsl2 3s linear infinite;
}

.listin-left-content .review-pop:hover {
    background-color: var(--header);
}

@media (max-width: 1199px) {
    .listin-left-content .review-pop {
        width: 50px;
        height: 50px;
    }

    .listin-left-content .review-pop i {
        font-size: 16px;
    }
}

@keyframes scsl {
    50% {
        transform: scale(1.05);
        opacity: 1;
    }

    60% {
        transform: scale(1.09);
        opacity: 0.6;
    }

    80% {
        transform: scale(1.1);
        opacity: 0.3;
    }

    90% {
        transform: scale(1.2);
        opacity: 0.2;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

@keyframes scsl2 {
    50% {
        transform: scale(1.05);
        opacity: 1;
    }

    60% {
        transform: scale(1.09);
        opacity: 0.6;
    }

    80% {
        transform: scale(1.1);
        opacity: 0.3;
    }

    90% {
        transform: scale(1.2);
        opacity: 0.2;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

.listin-left-content .review-progress {
    background-color: rgb(245, 245, 245);
}

.listin-left-content .review-progress .boxes-re {
    background: var(--white);
    width: 217px;
    min-width: 217px;
    height: 240px;
    border-radius: 5px;
    padding: 10px;
}

@media (max-width: 1399px) {
    .listin-left-content .review-progress .boxes-re {
        width: 180px;
        min-width: 180px;
        height: 190px;
    }
}

@media (max-width: 575px) {
    .listin-left-content .review-progress .boxes-re {
        width: 100%;
        min-width: 100%;
        height: 190px;
    }
}

.listin-left-content .listing-progress-item .progres {
    background: var(--white);
    width: 318px;
    height: 5px;
    border-radius: 7px;
    position: relative;
}

.listin-left-content .listing-progress-item .progres .bar {
    height: 100%;
    border-radius: 5px;
    position: absolute;
    background: var(--theme);
}

.listin-left-content .listing-progress-item .titles {
    width: 92px;
}

@media (max-width: 1399px) {
    .listin-left-content .listing-progress-item .progres {
        width: 280px;
        height: 4px;
    }

    .listin-left-content .listing-progress-item .progres .bar {
        height: 100%;
        border-radius: 5px;
    }

    .listin-left-content .listing-progress-item .titles {
        width: 80px;
    }
}

@media (max-width: 1199px) {
    .listin-left-content .listing-progress-item .progres {
        width: 200px;
        height: 4px;
    }

    .listin-left-content .listing-progress-item .progres .bar {
        height: 100%;
        border-radius: 5px;
    }

    .listin-left-content .listing-progress-item .titles {
        width: 80px;
    }
}

@media (max-width: 767px) {
    .listin-left-content .listing-progress-item .titles {
        width: initial;
    }
}

@media (max-width: 575px) {
    .listin-left-content .listing-progress-item {
        width: 100%;
    }

    .listin-left-content .listing-progress-item .progres {
        width: 100%;
    }
}

.author-review-item .thumb {
    width: 160px;
    height: 160px;
    min-width: 160px;
}

.author-review-item .thumb img {
    width: 100%;
    height: 100%;
}

.author-review-item button {
    transition: all 0.4s;
}

.author-review-item button:hover {
    background: var(--black);
    color: var(--white);
}

@media (max-width: 575px) {
    .author-review-item .thumb {
        width: 100px;
        height: 100px;
        min-width: 100px;
    }

    .author-review-item .thumb img {
        width: 100%;
        height: 100%;
    }
}

.write-review-wrap .pricing-review-adjust {
    display: flex;
    gap: 130px;
    margin-bottom: 40px;
}

@media (max-width: 1199px) {
    .write-review-wrap .pricing-review-adjust {
        margin-bottom: 20px;
    }
}

@media (max-width: 575px) {
    .write-review-wrap .pricing-review-adjust {
        gap: 9px 24px;
        flex-wrap: wrap;
    }
}

.write-review-wrap form input,
.write-review-wrap form textarea {
    width: 100%;
    padding: 18px 20px 19px !important;
    border-radius: 5px;
    border: unset;
    font-size: 14px;
    font-weight: 500;
    color: rgb(120, 120, 120);
    background: #f5f5f5;
    outline: none;
    margin-bottom: 0;
    height: 100%;
}

.scrolling-wrap {
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    gap: 20px;
}

.scrolling-wrap .comm {
    display: flex;
    align-items: center;
    animation: scroll 60s linear infinite;
    gap: 30px;
    cursor: pointer;
}

.scrolling-wrap .comm .cmn-textslide {
    font-size: 130px;
    font-weight: 900;
    text-transform: uppercase;
    font-family: "Manrope", sans-serif;
    line-height: 134px;
}

.scrolling-wrap .comm .text-custom-storke {
    -webkit-text-stroke: rgb(228, 228, 229);
}

.scrolling-wrap:hover .comm {
    animation-play-state: paused;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes scroll2 {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-200%);
    }
}

.mean-container a.meanmenu-reveal {
    display: none;
}

.mean-container .mean-nav {
    background: none;
    margin-top: 0;
}

.mean-container .mean-bar {
    padding: 0;
    min-height: auto;
    background: none;
}

.mean-container .mean-nav>ul {
    padding: 0;
    margin: 0;
    width: 100%;
    list-style-type: none;
    display: block !important;
}

.mean-container .mean-nav>ul .homemenu-items {
    display: flex;
    align-items: center;
    gap: 30px;
    justify-content: space-between;
}

@media (max-width: 1199px) {
    .mean-container .mean-nav>ul .homemenu-items {
        flex-wrap: wrap;
    }
}

.mean-container .mean-nav>ul .homemenu-items .homemenu {
    position: relative;
}

@media (max-width: 1199px) {
    .mean-container .mean-nav>ul .homemenu-items .homemenu {
        max-width: 300px;
        text-align: center;
        margin: 0 auto;
        border: 1px solid var(--border);
        padding: 10px;
    }
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb {
    position: relative;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb .demo-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    gap: 10px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    margin-top: 20px;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn {
    padding: 12px 20px;
    color: var(--white) !important;
    width: initial;
    font-size: 16px;
    text-align: center;
    border-radius: 0;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb .demo-button .theme-btn:hover {
    color: var(--white) !important;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb::before {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(20, 19, 19, 0)), to(#5e5ef6));
    background: linear-gradient(to bottom, rgba(99, 92, 92, 0) 0%, #252527 100%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    content: "";
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb:hover::before {
    visibility: visible;
    opacity: 1;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb:hover .demo-button {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb:hover .homemenu-btn {
    opacity: 1;
    visibility: visible;
    bottom: 50%;
    transform: translateY(50%);
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-thumb img {
    width: 100%;
}

.mean-container .mean-nav>ul .homemenu-items .homemenu .homemenu-title {
    text-align: center;
    margin: 15px auto;
    display: inline-block;
    font-size: 16px;
}

.mean-container a.meanmenu-reveal {
    display: none !important;
}

.mean-container .mean-nav ul li a {
    width: 100%;
    padding: 10px 0;
    color: var(--header);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    text-transform: capitalize;
    border-bottom: 1px solid var(--border) !important;
    border: none;
}

.mean-container .mean-nav ul li a:hover {
    color: var(--theme);
}

.mean-container .mean-nav ul li a:last-child {
    border-bottom: 0;
}

.mean-container .mean-nav ul li a:hover {
    color: var(--theme2);
}

.mean-container .mean-nav ul li a.mean-expand {
    margin-top: 5px;
    padding: 0 !important;
}

.mean-container .mean-nav ul li>a>i {
    display: none;
}

.mean-container .mean-nav ul li>a.mean-expand i {
    display: inline-block;
    font-size: 18px;
}

.mean-container .mean-nav>ul>li:first-child>a {
    border-top: 0;
}

.mean-container .mean-nav ul li a.mean-expand.mean-clicked i {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transition: all 0.4s ease-in-out;
}

.mean-container .mean-nav ul li .mega-menu li a {
    height: 200px;
    width: 100%;
    padding: 0;
    border-top: 0;
    margin-bottom: 20px;
}

.news-box-items {
    transition: all 0.5s;
}

.news-box-items .news-image {
    width: 100%;
}

.news-box-items .news-image img {
    width: 100%;
    border-radius: 7px;
}

.news-box-items .news-image .date-badge {
    position: absolute;
    right: 18px;
    top: -12px;
    width: 60px;
    height: 64px;
    line-height: 14px;
    font-weight: 500;
    text-transform: uppercase;
    z-index: 1;
}

.news-box-items .news-image .date-badge::before {
    position: absolute;
    left: -14px;
    top: 0;
    width: 19px;
    height: 12px;
    content: "";
    background: var(--theme);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.news-box-items .news-content {
    border-radius: 5px;
    background-color: rgb(245, 245, 245);
    padding: 24px 36px;
}

.news-box-items .news-content .comment-blog {
    position: relative;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.news-box-items .news-content .comment-blog .blog-arrow:hover {
    color: var(--theme);
}

.news-box-items .news-content .comment-blog .blog-arrow:hover i {
    color: var(--theme);
}

@media (min-width: 992px) {
    .news-box-items .news-content .comment-blog {
        margin-bottom: -50px;
    }
}

.news-box-items .news-content h4 a:hover {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .news-box-items .news-content {
        padding: 20px 16px;
    }
}

.news-box-items:hover {
    transform: translateY(-8px);
}

.news-section3 {
    position: relative;
    z-index: 1;
    padding-top: 90px;
}

.news-section3::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 932px;
    height: 100%;
    content: "";
    z-index: -1;
    background-color: rgb(245, 245, 245);
}

.news-section3 .slide-cmn {
    background-color: rgb(245, 245, 245);
    border-radius: 50% !important;
}

.news-section3 .slide-cmn i {
    color: var(--text);
}

.news-section3 .slide-cmn.active {
    background: var(--theme);
}

.news-section3 .slide-cmn.active i {
    color: var(--white);
}

.news-slider-maintain {
    margin-left: 300px;
}

.news-slider-maintain.style4 {
    margin-bottom: -60px;
}

@media screen and (max-width: 1900px) {
    .news-slider-maintain {
        margin-left: 0;
    }
}

.blog-news-wrapper3.style4 .news-box-items {
    background: var(--white);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
    margin-bottom: 60px;
}

.blog-news-wrapper3.style4 .news-box-items .news-content {
    background: var(--white);
}

.blog-news-wrapper3.style4 .news-box-items .comment-blog {
    margin-bottom: 0;
    margin-top: 20px;
    width: 100%;
    box-shadow: none;
    border: 1px solid rgb(213, 213, 213);
}

.newsletter-places {
    background: url(../../assets/img/element/newsletter-bg.png) no-repeat center center;
    background-size: cover;
    padding: 76px 50px 76px 20px;
    border-radius: 12px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 118px;
}

.newsletter-places h3 {
    font-size: 40px;
    color: var(--white);
}

@media (max-width: 767px) {
    .newsletter-places {
        padding: 65px 20px 65px 20px;
        border-radius: 12px;
        display: flex;
        text-align: center;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 16px 30px;
    }

    .newsletter-places h3 {
        font-size: 29px;
    }
}

.blog-rightbar {
    gap: 30px;
}

.blog-rightbar form input {
    width: 100%;
    height: 55px;
    background: transparent;
    border: unset;
    font-size: 18px;
    color: var(--white);
}

.blog-rightbar form input::placeholder {
    color: var(--white);
}

.blog-rightbar form i {
    color: var(--white);
}

.blog-rightbar .lastes-post {
    background-color: rgb(245, 245, 245);
    border-radius: 5px;
    padding: 40px 30px;
}

.blog-rightbar .lastes-post .lates-link li {
    background: var(--white);
    border-radius: 5px;
    padding: 15px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.blog-rightbar .lastes-post .lates-link li .cont a {
    line-height: 24px;
    display: block;
}

.blog-rightbar .lastes-post .lates-link li:hover .cont a {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .blog-rightbar .lastes-post {
        padding: 30px 18px;
    }

    .blog-rightbar .lastes-post .lates-link li {
        background: var(--white);
        border-radius: 5px;
        padding: 15px 14px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .blog-rightbar .lastes-post .lates-link li a {
        line-height: 21px;
        display: block;
        font-size: 16px;
    }
}

.blog-rightbar .blog-category {
    background-color: rgb(245, 245, 245);
    border-radius: 5px;
    padding: 40px 30px;
}

.blog-rightbar .blog-category a {
    border-radius: 5px;
    color: rgb(120, 120, 120);
    transition: all 0.4s;
    font-size: 16px;
    font-weight: 500;
}

.blog-rightbar .blog-category a:hover {
    background: var(--white);
    color: var(--black);
}

.blog-rightbar .blog-category a:hover i {
    color: var(--theme);
}

@media (max-width: 1199px) {
    .blog-rightbar .blog-category {
        padding: 30px 20px;
    }
}

.blog-tags {
    background-color: rgb(245, 245, 245);
    border-radius: 5px;
    padding: 40px 30px;
}

.blog-tags a {
    border-radius: 5px;
    padding: 7px 18px 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    background: var(--white);
    text-align: center;
    transition: all 0.4s;
    display: inline-block;
}

.blog-tags a.active,
.blog-tags a:hover {
    background: var(--theme);
    color: var(--white);
}

.blog-tags .active:hover {
    background: var(--black);
    color: var(--white);
}

@media (max-width: 1199px) {
    .blog-tags {
        padding: 30px 20px;
    }
}

.tag-share-area {
    border-top: 1px solid rgb(245, 245, 245);
    padding-top: 40px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.tag-share-area .social-area a {
    background: rgb(247, 241, 241);
}

.tag-share-area .social-area a i {
    color: var(--black);
}

.tag-share-area .social-area a:hover {
    background: var(--theme);
}

.tag-share-area .social-area a:hover i {
    color: var(--white);
}

@media (max-width: 575px) {
    .tag-share-area {
        padding-top: 30px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

.caters-thumb {
    background: url(../../assets/img/news/blog-details-text.png) no-repeat center center;
    background-size: cover;
    border-radius: 10px;
    overflow: hidden;
    padding: 52px 20px;
}

.caters-content {
    background: rgb(245, 245, 245);
    border-radius: 10px;
    overflow: hidden;
    padding: 52px 20px;
}

.author-review-wrap .line {
    width: 100%;
    height: 1px;
    background: rgb(245, 245, 245);
}

.pricing-section {
    position: relative;
    z-index: 1;
}

.pricing-section::before {
    position: absolute;
    left: 0;
    top: 0;
    height: 575px;
    content: "";
    width: 100%;
    background: url(../../assets/img/element/pricing-bg.png) no-repeat center center;
    background-size: cover;
    z-index: -1;
}

.pricing-items {
    background-color: rgb(255, 255, 255);
    box-shadow: -10px 0px 60px 0px rgba(0, 0, 0, 0.07);
    z-index: 1;
    transition: all 0.4s;
}

.pricing-items .price-head {
    position: relative;
    background: var(--theme);
    padding: 50px 20px;
    overflow: hidden;
    z-index: 1;
}

.pricing-items .price-head .pricing-shape {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 8px;
    z-index: -1;
}

.pricing-items .line {
    width: 100%;
    height: 1px;
    background-color: rgb(213, 213, 213);
}

.pricing-items.premium .theme-btn {
    background: var(--theme);
}

.pricing-items:hover {
    transform: scale(1.05);
}

.pricing-items:hover .theme-btn {
    color: var(--white);
}

.offer-thumb-area {
    z-index: 1;
}

.offer-thumb-area .theme-line {
    position: absolute;
    bottom: 0;
    right: 0px;
    z-index: -1;
    animation: leftr 2s linear infinite;
}

.offer-thumb-area .offer-cirlcles {
    position: absolute;
    bottom: 0;
    top: 0;
    left: -200px;
    z-index: -1;
}

@media (max-width: 1399px) {

    .offer-thumb-area .thumb1,
    .offer-thumb-area .thumb {
        width: 100%;
    }

    .offer-thumb-area .thumb1 img,
    .offer-thumb-area .thumb img {
        width: 100%;
    }

    .offer-thumb-area .thumb1 .theme-line,
    .offer-thumb-area .thumb .theme-line {
        display: none;
    }

    .offer-thumb-area .thumb {
        max-width: 300px;
    }
}

.offer-content .theme-btn {
    background: var(--black);
}

.offer-content .theme-btn::after,
.offer-content .theme-btn::before {
    background-color: var(--theme);
}

.offer-content .connect-line {
    background-color: rgb(213, 213, 213);
    height: 60px;
    width: 1px;
}

.offer-content .offer-condition-wrap {
    display: grid;
    gap: 24px;
    margin: 36px 0;
}

.offer-content .offer-condition-wrap .offer-connection {
    gap: 30px;
}

.offer-content .offer-condition-wrap .offer-connection .sty-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--black);
}

.offer-content .offer-condition-wrap .offer-connection .icon {
    width: 55px;
    height: 55px;
    min-width: 55px;
    transition: all 0.4s;
}

.offer-content .offer-condition-wrap .offer-connection .icon:hover {
    background: var(--black);
}

@media (max-width: 575px) {
    .offer-content .connect-line {
        display: none;
    }

    .offer-content .offer-condition-wrap {
        gap: 18px;
        margin: 28px 0;
    }

    .offer-content .offer-condition-wrap .offer-connection {
        gap: 8px 20px;
        flex-wrap: wrap;
    }

    .offer-content .offer-condition-wrap .offer-connection .sty-title {
        font-size: 18px;
    }

    .offer-content .offer-condition-wrap .offer-connection .icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
}

.step-section {
    position: relative;
    z-index: 1;
}

.step-section.style-space .container {
    max-width: 1070px;
    margin: 0 auto;
}

.step-section::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 665px;
    content: "";
    background: url(../../assets/img/brand/step-bg.png) no-repeat center center;
    background-size: cover;
}

.step-section .step-slide-wrap {
    box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.2);
    padding: 100px 0;
}

.step-section .step-slide-wrap .step-sponsor img {
    transition: all 0.5s;
}

.step-section .step-slide-wrap .step-sponsor:hover img {
    filter: brightness(0);
    cursor: pointer;
}

.step-section .swiper-slide.swiper-slide-active .step-sponsor img {
    filter: brightness(5);
    transform: scale(1.2);
}

.step-sponsor {
    text-align: center;
    margin: 0 auto;
}

.step-sponsor:hover {
    cursor: pointer;
}

.sponsor-section {
    padding: 100px 0;
}

.sponsor-section .step-sponsor {
    text-align: center;
    margin: 0 auto;
}

.sponsor-section .step-sponsor img {
    filter: brightness(0);
    transition: all 0.5s;
    opacity: 0.5;
}

.sponsor-section .step-sponsor:hover img {
    filter: brightness(0);
    transition: all 0.5s;
    opacity: 1;
}

.sponsor-section .swiper-slide {
    margin: 0 auto;
    text-align: center;
}

.sponsor-section .swiper-slide.swiper-slide-active .step-sponsor img {
    filter: brightness(0);
    transition: all 0.5s;
    opacity: 1;
}

@media (max-width: 1199px) {
    .sponsor-section {
        padding: 80px 0;
    }
}

@media (max-width: 991px) {
    .sponsor-section {
        padding: 70px 0;
    }
}

.sponsor-border {
    border-bottom: 1px solid #d5d5d5;
}

.step-items {
    z-index: 1;
    position: relative;
    border: 1px solid rgb(213, 213, 213);
    background: var(--white);
    max-width: 217px;
    padding: 40px 10px;
    transition: all 0.4s;
    position: relative;
    transform: skewX(-10deg);
}

.step-items .step-box {
    transform: skewX(10deg);
    max-width: 140px;
    margin: 0 auto;
    transition: all 0.5s;
}

.step-items:hover {
    transform: skewX(0deg);
}

.step-items:hover .step-box {
    transform: skewX(0deg);
}

.step-items:hover .icon {
    transform: scale(1.02);
}

@media (max-width: 575px) {
    .step-items {
        max-width: 100%;
        transform: skewX(0deg);
    }

    .step-items .step-box {
        transform: skewX(0deg);
        max-width: 300px;
        margin: 0 auto;
        transition: all 0.5s;
    }
}

.step-shape {
    position: absolute;
    left: -229px;
    height: 100%;
    top: 0;
}

@media (max-width: 991px) {
    .step-shape {
        display: none;
    }
}

.step-shape-lst img {
    height: 95%;
}

.step-shape-fiest {
    position: absolute;
    bottom: 6px;
    left: -64px;
}

.popular-section .section-title {
    max-width: 500px;
}

.popular-items {
    position: relative;
    overflow: hidden;
}

.popular-items img {
    width: 100%;
    border-radius: 8px;
}

.popular-items .box-content {
    position: absolute;
    bottom: -100%;
    left: 15px;
    width: 90%;
    background: var(--theme);
    border-radius: 8px;
    padding: 40px 30px;
    transition: all 0.5s;
}

.popular-items .box-content .arrow {
    width: 55px;
    height: 55px;
    min-width: 55px;
    background: var(--white);
    position: absolute;
    right: 15px;
    top: -30px;
    transition: all 0.4s;
}

.popular-items .box-content .arrow i {
    color: var(--theme);
    transition: all 0.4s;
}

.popular-items .box-content .arrow:hover {
    background: var(--black);
}

.popular-items .box-content .arrow:hover i {
    color: var(--white);
}

.popular-items .some-cont {
    position: absolute;
    bottom: 35px;
    left: 35px;
    transition: all 0.4s;
}

.popular-items .some-cont .listing {
    padding: 4px 12px;
    background: var(--theme);
    color: var(--white);
    border-radius: 8px;
    display: inline-block;
    font-size: 12px;
    position: relative;
    margin-left: 80px;
    margin-bottom: 10px;
}

.popular-items .some-cont .listing::before {
    position: absolute;
    left: 0;
    bottom: -12px;
    width: 12px;
    height: 20px;
    content: "";
    background: var(--theme);
    clip-path: polygon(100% 0, 0 0, 0 100%);
}

@media (max-width: 1399px) {
    .popular-items .box-content {
        padding: 20px 20px;
    }

    .popular-items .box-content .arrow {
        width: 45px;
        height: 45px;
        min-width: 45px;
    }

    .popular-items .box-content .arrow i {
        color: var(--theme);
    }
}

.popular-items:hover {
    cursor: pointer;
}

.popular-items:hover .some-cont {
    opacity: 0;
}

.popular-items:hover .box-content {
    bottom: 15px;
    z-index: 1;
}

.section-title {
    position: relative;
    z-index: 99;
}

.section-title span {
    display: inline-block;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    color: var(--theme);
}

.section-title-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 9;
}

@media (max-width: 991px) {
    .section-title-area {
        flex-wrap: wrap;
        gap: 30px;
    }
}

.center {
    text-align: center;
    margin: 0 auto;
}

.section-bg {
    background-color: var(--bg);
}

.section-bg-2 {
    background-color: var(--header);
}

.section-padding {
    padding: 120px 0;
}

@media (max-width: 1199px) {
    .section-padding {
        padding: 100px 0;
    }
}

@media (max-width: 991px) {
    .section-padding {
        padding: 80px 0;
    }
}

.space-top {
    padding-top: 120px;
}

@media (max-width: 1199px) {
    .space-top {
        padding-top: 100px;
    }
}

@media (max-width: 991px) {
    .space-top {
        padding-top: 80px;
    }
}

.space-bottom {
    padding-bottom: 120px;
}

@media (max-width: 1199px) {
    .space-bottom {
        padding-bottom: 100px;
    }
}

@media (max-width: 991px) {
    .space-bottom {
        padding-bottom: 80px;
    }
}

.mb-60 {
    margin-bottom: 55px;
}

@media (max-width: 1199px) {
    .mb-60 {
        margin-bottom: 45px;
    }
}

@media (max-width: 991px) {
    .mb-60 {
        margin-bottom: 40px;
    }
}

@media (max-width: 767px) {
    .mb-60 {
        margin-bottom: 35px;
    }
}

.discover-cate-wrapper {
    display: flex;
    grid-template-columns: repeat(1fr, 6);
    gap: 30px;
}

.discover-cate-wrapper .discover-cate-item {
    width: 100%;
}

@media (max-width: 1399px) {
    .discover-cate-wrapper {
        gap: 20px;
    }
}

@media (max-width: 1199px) {
    .discover-cate-wrapper {
        flex-wrap: wrap;
        justify-content: center;
        grid-template-columns: repeat(1fr, 3);
    }

    .discover-cate-wrapper .discover-cate-item {
        width: 30%;
    }
}

@media (max-width: 767px) {
    .discover-cate-wrapper {
        flex-wrap: wrap;
        justify-content: center;
        grid-template-columns: repeat(1fr, 2);
    }

    .discover-cate-wrapper .discover-cate-item {
        width: 44%;
    }
}

@media (max-width: 575px) {
    .discover-cate-wrapper .discover-cate-item {
        width: 100%;
    }
}

.discover-cate-item {
    border: 1px solid rgb(213, 213, 213);
    border-radius: 5px;
    padding: 38px 0px 0;
    transition: all 0.5s;
}

.discover-cate-item .icon {
    width: 100px;
    height: 100px;
    margin: 0 auto 38px;
    background-color: rgba(233, 10, 53, 0.051);
    transition: all 0.5s;
}

.discover-cate-item .icon .seri-badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--black);
    position: absolute;
    top: -5px;
    right: -5px;
    color: var(--white);
    font-size: 12px;
}

.discover-cate-item .discover-text {
    background-color: rgb(245, 245, 245);
    display: block;
    padding: 15px 10px;
}

.discover-cate-item .discover-text::before {
    background-color: rgb(245, 245, 245);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    clip-path: polygon(50% 0%, 0 100%, 100% 100%);
    width: 35px;
    height: 11px;
}

.discover-cate-item .discover-text:hover {
    color: var(--theme);
}

.discover-cate-item.active,
.discover-cate-item:hover {
    transform: translateY(4px) scale(1.02);
}

.discover-cate-item.active .icon,
.discover-cate-item:hover .icon {
    background-color: var(--theme);
}

.discover-cate-item.active .icon img,
.discover-cate-item:hover .icon img {
    filter: brightness(25);
}

@media (max-width: 1399px) {
    .discover-cate-item {
        padding: 30px 0 0;
    }
}

.business-section {
    position: relative;
    z-index: 1;
    background: url(../../assets/img/element/business-bg.png) no-repeat center center;
    background-size: cover;
}

.business-single {
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    border-radius: 8px;
}

.business-single .news-image {
    width: 100%;
    overflow: hidden;
    transition: all 0.5s;
}

.business-single .news-image img {
    width: 100%;
    overflow: hidden;
    transition: all 0.5s;
}

.business-single .news-image .business-badge {
    position: absolute;
    top: 20px;
    left: 25px;
    z-index: 1;
}

.business-single .news-image .mike-hardson {
    position: absolute;
    left: 25px;
    bottom: 20px;
}

.business-single .news-image .mike-hardson img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.business-single .business-content .review-area .re-line {
    width: 1px;
    background: var(--indef);
    height: 16px;
}

.business-single .business-content h4 a:hover {
    color: var(--theme);
}

.business-single .business-content .business-info li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.business-single .business-content .line {
    width: 100%;
    height: 1px;
    background-color: rgb(213, 213, 213);
}

.business-single .business-content .form-info button {
    width: 33px;
    height: 33px;
    background-color: rgb(245, 245, 245);
    transition: all 0.5s;
}

.business-single .business-content .form-info button:hover {
    background: var(--theme);
}

.business-single .business-content .form-info button:hover img {
    filter: brightness(25);
}

.business-single .business-content .form-info button:hover i {
    color: var(--white);
}

.business-single:hover .news-image img {
    transform: scale(1.1);
}

.benefit-section {
    background: url(../../assets/img/service/bg.png) no-repeat center center;
    background-size: cover;
}

.benefit-area {
    display: grid;
    gap: 25px;
}

.benefit-area .benefit-items .arrows {
    width: 55px;
    height: 55px;
    min-width: 55px;
    background: var(--white);
    border-radius: 50%;
    transition: all 0.5s;
}

.benefit-area .benefit-items:hover .arrows {
    transform: rotate(90deg);
    background: var(--theme);
}

.benefit-area .benefit-items:hover .arrows i {
    color: var(--white);
}

.benefit-area .line {
    width: 100%;
    height: 1px;
    background: #d5d5d5;
}

@media (max-width: 1199px) {
    .benefit-area {
        gap: 18px;
    }

    .benefit-area .benefit-items .arrows {
        width: 45px;
        height: 45px;
        min-width: 45px;
    }
}

.benefit-thumb-inner {
    z-index: 1;
}

.benefit-thumb-inner .thumb1 {
    max-width: 370px;
}

.benefit-thumb-inner .thumb1 img {
    width: 100%;
}

.benefit-thumb-inner .thumb2 {
    max-width: 250px;
    margin-left: -50px;
}

.benefit-thumb-inner .thumb2 img {
    width: 100%;
}

.benefit-thumb-inner .benefit-ele {
    position: absolute;
    top: -80px;
    left: -120px;
    z-index: -1;
    animation: rots 2s linear infinite;
}

@media (max-width: 991px) {
    .benefit-thumb-inner .benefit-ele {
        top: initial;
        bottom: 20px;
        left: initial;
        right: 20px;
    }
}

@keyframes rots {
    50% {
        transform: rotate(5deg);
    }
}

.sponsor-section3 {
    background: url(../../assets/img/hero/sponsor3-bg.png) no-repeat center center;
    background-size: cover;
    padding: 110px 0;
}

.sponsor-section3 .step-sponsor {
    transition: all 0.5s;
}

.sponsor-section3 .step-sponsor img {
    transition: all 0.5s;
}

.sponsor-section3 .step-sponsor:hover {
    filter: brightness(1.75);
}

.sponsor-section3 .step-sponsor:hover img {
    filter: brightness(1.75);
    opacity: 1;
    cursor: pointer;
}

.sponsor-section3 .swiper-slide.swiper-slide-active .step-sponsor img {
    filter: brightness(5);
    transform: scale(1.2);
}

@media (max-width: 1399px) {
    .sponsor-section3 {
        padding: 90px 0;
    }
}

@media (max-width: 1199px) {
    .sponsor-section3 {
        padding: 80px 0;
    }
}

@media (max-width: 991px) {
    .sponsor-section3 {
        padding: 70px 0;
    }
}

@media (max-width: 767px) {
    .sponsor-section3 {
        padding: 60px 0;
    }
}

.discover-section {
    z-index: 1;
}

.discover-section .discover-shape {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: -1;
}

.discover-items {
    border: 1px solid rgb(213, 213, 213);
    padding: 40px 50px;
    overflow: hidden;
    transition: all 0.4s;
}

.discover-items .box {
    max-width: 345px;
}

.discover-items .badge-ele {
    position: absolute;
    right: 0;
    top: 0;
    width: 155px;
    height: 155px;
    background: rgb(213, 213, 213);
    border-bottom-left-radius: 150px;
    transition: all 0.4s;
}

.discover-items:hover {
    border-color: var(--theme);
}

.discover-items:hover .badge-ele {
    background: var(--theme);
}

@media (max-width: 1199px) {
    .discover-items .badge-ele {
        width: 105px;
        height: 105px;
    }

    .discover-items .badge-ele img {
        width: 50px;
    }
}

@media (max-width: 1199px) {
    .discover-items {
        padding: 24px 24px;
    }

    .discover-items .badge-ele {
        width: 65px;
        height: 65px;
    }

    .discover-items .badge-ele img {
        width: 30px;
    }
}

.discover-separate .container {
    max-width: 1465px;
    margin: 0 auto;
}

.discover-all-wrap {
    display: flex;
    flex-wrap: wrap;
}

.discover-all-wrap .discover-separ-item {
    width: 20%;
    padding: 10px;
}

.discover-all-wrap .discover-separ-item .box {
    background-color: rgb(245, 245, 245);
    border-radius: 12px;
    border: 5px solid var(--white);
    box-shadow: 0px 10px 60px 0px rgba(0, 0, 0, 0.08);
    padding: 30px 30px;
    position: relative;
    z-index: 1;
}

.discover-all-wrap .discover-separ-item .box::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: url(../../assets/img/project/discover-thumb.png) no-repeat center center;
    background-size: cover;
    border-radius: 12px;
    z-index: -1;
    transition: all 0.4s;
    transform: scale(0);
}

.discover-all-wrap .discover-separ-item .box .icon {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 45px;
    height: 45px;
}

.discover-all-wrap .discover-separ-item .box .icon i {
    color: var(--white);
    font-size: 16px;
}

.discover-all-wrap .discover-separ-item.active .box::before,
.discover-all-wrap .discover-separ-item:hover .box::before {
    transform: scale(1);
}

.discover-all-wrap .discover-separ-item.active span,
.discover-all-wrap .discover-separ-item:hover span {
    color: var(--white);
}

@media (max-width: 1199px) {
    .discover-all-wrap .discover-separ-item {
        width: 20%;
        padding: 5px;
    }

    .discover-all-wrap .discover-separ-item .box {
        padding: 24px 18px;
    }
}

@media (max-width: 991px) {
    .discover-all-wrap .discover-separ-item {
        width: 33.33%;
        padding: 5px;
    }

    .discover-all-wrap .discover-separ-item .box {
        padding: 24px 18px;
    }
}

@media (max-width: 767px) {
    .discover-all-wrap .discover-separ-item {
        width: 50%;
        padding: 5px;
    }

    .discover-all-wrap .discover-separ-item .box {
        padding: 24px 18px;
    }
}

@media (max-width: 450px) {
    .discover-all-wrap .discover-separ-item {
        width: 100%;
        padding: 5px;
    }

    .discover-all-wrap .discover-separ-item .box {
        padding: 24px 18px;
    }
}

.watch-section {
    background: url(../../assets/img/project/watch-bg.png) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    padding: 0 0 140px;
    background-attachment: fixed;
    z-index: 1;
}

.watch-section .watch-content {
    z-index: 1;
    position: relative;
}

.watch-section .watch-content .watch-icon {
    width: 164px;
    height: 164px;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    background: var(--theme);
    border-radius: 0 0 100px 100px;
}

.watch-section .watch-content .watch-icon i {
    font-size: 24px;
    color: var(--white);
}

.watch-section .watch-content .watch-icon:hover {
    background-color: var(--header);
}

.watch-section .watch-content .text-line {
    position: absolute;
    top: 15px;
    left: -4px;
    z-index: -1;
}

@media (min-width: 1200px) {
    .watch-section .watch-content h2 {
        font-size: 60px;
    }
}

@media (max-width: 767px) {
    .watch-section {
        padding: 0 0 80px;
    }

    .watch-section .watch-content {
        z-index: 1;
        position: relative;
    }

    .watch-section .watch-content .watch-icon {
        width: 124px;
        height: 124px;
        display: block;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 24px;
        background: var(--theme);
        border-radius: 0 0 100px 100px;
    }

    .watch-section .watch-content .watch-icon i {
        font-size: 24px;
        color: var(--white);
    }

    .watch-section .watch-content .text-line {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
}

.authentic-item {
    position: relative;
    z-index: 1;
    transition: all 0.4s;
}

.authentic-item::before {
    position: absolute;
    top: -10px;
    left: -10px;
    content: "";
    border-radius: 5px;
    background-color: rgb(213, 213, 213);
    width: 80%;
    height: 60%;
    transition: all 0.4s;
}

.authentic-item .cont {
    margin-top: -18px;
    position: relative;
    z-index: 1;
}

.authentic-item .cont .social-share .share {
    position: relative;
    width: 48px;
    height: 48px;
    background: var(--theme);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.authentic-item .cont .social-share .share i {
    color: var(--white);
}

.authentic-item .cont .social-share .share:hover {
    cursor: pointer;
}

.authentic-item .cont .social-share .share:hover .social-area {
    transform: translateX(-50%) rotateX(0deg);
}

.authentic-item .cont .social-share .social-area {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%) rotateX(90deg);
    transition: all 0.4s;
}

.authentic-item:hover {
    transform: translateY(5px);
}

.authentic-item:hover::before {
    background: var(--theme);
}

.what-wedo-wrap {
    z-index: 1;
    position: relative;
}

.what-wedo-wrap::before {
    position: absolute;
    height: 630px;
    width: 1490px;
    content: "";
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    content: "";
    z-index: -1;
    background: url(../../assets/img/team/what-bg.png) no-repeat center center;
    background-size: cover;
    border-radius: 16px;
    overflow: hidden;
}

.what-wedo-wrap .ele-badge1,
.what-wedo-wrap .ele-badge2,
.what-wedo-wrap .ele-badge3 {
    position: absolute;
    width: 81px;
    height: 81px;
    border: 5px solid var(--white);
}

.what-wedo-wrap .ele-badge1 img,
.what-wedo-wrap .ele-badge2 img,
.what-wedo-wrap .ele-badge3 img {
    width: 28px;
}

.what-wedo-wrap .ele-badge1 {
    right: -120px;
    top: 50%;
    transform: translateY(-50%);
}

.what-wedo-wrap .ele-badge2 {
    right: 30%;
    top: 22px;
}

.what-wedo-wrap .ele-badge3 {
    right: 40%;
    bottom: 10px;
}

@media (max-width: 991px) {
    .what-wedo-wrap {
        padding: 60px 0;
    }

    .what-wedo-wrap::before {
        height: 100%;
    }

    .what-wedo-wrap .ele-badge1 {
        display: none;
    }

    .what-wedo-wrap .ele-badge2 {
        display: none;
    }
}

.what-wedo-thumbarea {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: flex-end;
}

.what-wedo-thumbarea .thumb {
    width: 100%;
}

.what-wedo-thumbarea .thumb img {
    width: 100%;
}

.what-wedo-thumbarea .what-wedo-thumbinner {
    display: grid;
    gap: 24px;
}

.what-wedo-thumbarea .what-wedo-thumbinner .thumb2 {
    width: 100%;
}

.what-wedo-thumbarea .what-wedo-thumbinner .thumb2 img {
    width: 100%;
}

.what-wedo-thumbarea .review-badge {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: updowns 2s linear infinite;
}

@media (max-width: 575px) {
    .what-wedo-thumbarea {
        gap: 14px;
    }

    .what-wedo-thumbarea .thumb1 {
        max-width: 300px;
    }

    .what-wedo-thumbarea .thumb1 img {
        width: 100%;
    }

    .what-wedo-thumbarea .what-wedo-thumbinner {
        display: grid;
        gap: 14px;
    }

    .what-wedo-thumbarea .what-wedo-thumbinner .thumb2 {
        width: 100%;
    }

    .what-wedo-thumbarea .what-wedo-thumbinner .thumb2 img {
        width: 100%;
    }
}

.testimonail-items {
    background: var(--white);
    padding: 40px;
    border-radius: 8px;
    z-index: 1;
    overflow: hidden;
    box-shadow: -10px 0px 60px 0px rgba(0, 0, 0, 0.07);
}

.testimonail-items .thumb {
    border: 2px solid var(--theme);
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.testimonail-items .testimonial-shape {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

@media (max-width: 991px) {
    .testimonail-items {
        padding: 20px;
    }
}

@media (max-width: 767px) {
    .testimonail-items p {
        font-size: 14px;
        line-height: 21px;
    }
}

.los-angels-wrap {
    margin-left: 80px;
}

.los-angels-wrap .container {
    max-width: 1396px;
    margin: 0 auto;
}

.testimonial-wrapper2 {
    max-width: 930px;
}

.testimonail-items2 .testimonial-author .test-author-small {
    width: 76px;
    height: 76px;
    border-radius: 50%;
}

.testimonail-items2 .testimonial-author .test-author-big {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 2px solid var(--theme);
}

.testimonail-items2 p {
    font-size: 32px;
    line-height: 40px;
    color: var(--text);
    font-family: "Manrope", sans-serif;
    position: relative;
    text-align: center;
    margin-bottom: 36px;
}

.testimonail-items2 .testi-quote {
    position: absolute;
    bottom: 100%;
    left: 32px;
}

@media (max-width: 767px) {
    .testimonail-items2 .testi-quote {
        display: none;
    }

    .testimonail-items2 .testimonial-author .test-author-small {
        width: 58px;
        height: 58px;
    }

    .testimonail-items2 .testimonial-author .test-author-big {
        width: 80px;
        height: 80px;
    }

    .testimonail-items2 p {
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 18px;
    }
}

.testimonial-cargo {
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
}

.slide-cmn {
    width: 41px;
    height: 41px;
    background: var(--white);
    transition: all 0.4s;
}

.slide-cmn i {
    color: var(--black);
    font-size: 15px;
    transition: all 0.4s;
}

.slide-cmn:hover {
    background: var(--theme);
}

.slide-cmn:hover i {
    color: var(--white);
}

.funfact-section {
    background: url(../../assets/img/project/fun-fact.png) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    padding: 90px 0;
}

.funfact-content .section-title {
    margin-bottom: 44px;
}

.funfact-content .funfact-info {
    display: grid;
    gap: 24px;
}

.funfact-content .funfact-info .funfact-item .icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    transition: all 0.4s;
}

.funfact-content .funfact-info .funfact-item .icon i {
    transition: all 0.4s;
}

.funfact-content .funfact-info .funfact-item:hover .icon {
    background: var(--white);
}

.funfact-content .funfact-info .funfact-item:hover .icon i {
    color: var(--black);
}

@media (max-width: 767px) {
    .funfact-content .section-title {
        margin-bottom: 30px;
    }

    .funfact-content .funfact-info {
        display: grid;
        gap: 20px;
    }

    .funfact-content .funfact-info .funfact-item .icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .funfact-content .funfact-info .funfact-item .icon i {
        font-size: 16px;
    }
}

.funfact-counting-wrap .funfact-count {
    width: 192px;
    height: 192px;
    min-width: 192px;
}

.funfact-counting-wrap .funfact-count h2 {
    font-size: 40px;
}

.funfact-counting-wrap .funfact-count span {
    color: rgba(255, 255, 255, 0.6);
    line-height: 18px;
    text-align: center;
    display: block;
}

.funfact-counting-wrap .funfact-count .icon {
    width: 55px;
    height: 55px;
    min-width: 55px;
    position: absolute;
}

.funfact-counting-wrap .funfact-count .posi1 {
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);
}

.funfact-counting-wrap .funcat-inner {
    display: flex;
    gap: 50px;
    justify-content: center;
}

@media (max-width: 500px) {
    .funfact-counting-wrap .funfact-count {
        width: 122px;
        height: 122px;
        min-width: 122px;
    }

    .funfact-counting-wrap .funfact-count h2 {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .funfact-counting-wrap .funfact-count span {
        line-height: 18px;
    }

    .funfact-counting-wrap .funfact-count .icon {
        width: 55px;
        height: 55px;
        min-width: 55px;
    }

    .funfact-counting-wrap .funfact-count .posi1 {
        bottom: -34px;
    }

    .funfact-counting-wrap .funcat-inner {
        gap: 20px;
        margin-bottom: 10px;
    }
}

.funfact-counting-wrap .third-count {
    margin: 0 auto;
}

/*# sourceMappingURL=main.css.map */

/* ============= Hubungi Kami / Contact Us ==============  */
.contact-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.contact-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: var(--hero-bg), url('/template_portal/images/contact-us.jpg'); */
    background: url('/template_portal/images/contact-us.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.contact-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.contact-hero-banner .container .contact-hero-content {
    text-align: center;
}

.contact-hero-content {
    position: relative;
    z-index: 3;
}

.contact-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.contact-hero-content p {
    color: var(--white);
    /* font-size: 1.1rem; */
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/* Contact Section */
.contact-section {
    padding-top: 80px;
    padding-bottom: 20px;
    background: var(--theme4);
}

/* Contact Info Box */
.contact-info-box {
    background: white;
    padding: 35px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    height: 100%;
}

.contact-info-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #5B73A3;
    margin-bottom: 15px;

    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.4;
}

.contact-info-body {
    padding-top: 7px;
}

.contact-info-item {
    display: flex;
    margin-bottom: 25px;
}

.contact-info-item:last-of-type {
    border-bottom: none;
    margin-bottom: 30px;
}

.contact-icon {
    width: 45px;
    height: 45px;
    background: var(--btn-bg-theme);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 15px;
}

.contact-icon i {
    color: white;
    font-size: 1.1rem;
}

.contact-details h5 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.contact-details p {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 0;
    line-height: 1.6;
}

.contact-details a {
    color: #5B73A3;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-details a:hover {
    color: #4a5f8a;
}

/* Contact Social */
.contact-social {
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
}

.contact-social-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

.contact-social-icons {
    display: flex;
    gap: 12px;
}

.contact-social .social-link {
    width: 40px;
    height: 40px;
    background: var(--btn-bg-theme);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.contact-social .social-link:hover {
    transform: translateY(-2px);
    filter: brightness(1.15);
    box-shadow: 0 2px 6px rgba(59, 95, 204, 0.15);
}

.contact-social .social-link i {
    font-size: 0.95rem;
}

/* Contact Form Box */
.contact-form-box {
    background: white;
    padding: 35px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.contact-form-header {
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 15px;
}

.contact-form-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--black);
}

.contact-form-subtitle {
    font-size: 0.9rem;
    font-weight: 300;
    color: var(--text);
    margin-bottom: 15px;
}

/* Form Styling */
.contact-form .form-label {
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

/* Contact form dropdown fixes */
.contact-form .form-select {
    background-image: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.contact-form .nice-select::after {
    display: block !important;
    right: 15px;
    top: 50%;
}

.contact-form .form-control,
.contact-form .form-select {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: #5B73A3;
    box-shadow: 0 0 0 0.2rem rgba(91, 115, 163, 0.15);
}

.contact-form textarea.form-control {
    resize: vertical;
    min-height: 150px;
}

/* Captcha Wrapper */
.captcha-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

.captcha-image {
    flex: 1;
}

.captcha-image img {
    border-radius: 8px;
    border: 1px solid #ddd;
}

.captcha-reload {
    width: 45px;
    height: 45px;
    background: var(--btn-bg-theme);
    border: none;
    border-radius: 8px;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.captcha-reload:hover {
    background: var(--btn-bg-theme);
}

.captcha-reload i {
    font-size: 1.2rem;
    transition: transform 0.3s;
}

.captcha-reload:hover i {
    transform: rotate(180deg);
}

/* Submit Button */
.btn-submit {
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    padding: 12px 35px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(91, 115, 163, 0.3);
}

.btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(51, 87, 159, 0.4);
}

.btn-submit:active {
    transform: translateY(0);
}

/* Breadcrumbs */
.breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 10px;
}

.breadcrumbs a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

.breadcrumbs a:hover {
    color: white;
}

.breadcrumbs span {
    color: white;
    font-size: 0.95rem;
}

.breadcrumbs span:first-of-type::before {
    content: "›";
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.7);
}

/* Map Section */
.map-section {
    padding: 80px 0;
    background-color: var(--theme4);
}

.map-section .container .map-header {
    text-align: center;
    margin-bottom: 30px;
}

.map-header .map-header-top {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.map-header p {
    color: var(--white);
    font-size: 1.1rem;
}

.map-card {
    background: white;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.map-card iframe {
    border-radius: 10px;
    display: block;
}

.map-container {
    position: relative;
    overflow: hidden;
}

.map-container iframe {
    display: block;
}

/* CONTACT CTA Section */
.contact-cta-section {
    padding: 100px 0;
    position: relative;
    text-align: center;
    overflow: hidden;
    background: linear-gradient(to bottom, rgba(21, 19, 63, 1) 0%, rgba(84, 104, 158, 1) 100%);
}

.contact-cta-section .container::before {
    content: "";
    position: absolute;
    width: 384px;
    height: 384px;
    left: 1247px;
    top: -9px;
    background: rgba(86, 95, 128, 0.87);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.contact-cta-section::after {
    content: "";
    position: absolute;
    width: 341px;
    height: 325px;
    left: -76px;
    top: -82px;
    background: rgba(86, 95, 128, 0.87);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.contact-cta-content {
    position: relative;
    z-index: 1;
}

.contact-cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    margin: 0 0 20px 0;
}

.contact-cta-description {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.95);
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

.contact-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.contact-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 40px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.05rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.contact-cta-primary {
    background: white;
    color: var(--theme);
}

.contact-cta-primary:hover {
    background: #f8f9fa;
    transform: translateY(-2px);
    color: #2d3875;
}

.contact-cta-secondary {
    background: transparent;
    color: white;
    border: 2px solid white;
}

.contact-cta-secondary:hover {
    background: var(--white);
    transform: translateY(-2px);
    color: var(--theme);
}

.contact-cta-button i {
    font-size: 1rem;
}

/* Breadcrumbs */
.breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
}

.breadcrumbs a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

.breadcrumbs a:hover {
    color: white;
}

.breadcrumbs span {
    color: white;
    font-size: 0.95rem;
}

.breadcrumbs span:first-of-type::before {
    content: "›";
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.7);
}

/* Responsive */
@media (max-width: 991px) {
    .contact-hero-banner {
        min-height: 350px;
        padding: 60px 0;
    }

    .contact-hero-title {
        font-size: 2.5rem;
        letter-spacing: 1px;
    }

    .contact-hero-content p {
        font-size: 1rem;
    }

    .contact-section {
        padding-bottom: 0;
    }

    .contact-cta-section {
        padding: 80px 0;
    }

    .contact-cta-title {
        font-size: 2rem;
    }

    .contact-cta-description {
        font-size: 1rem;
    }

    .contact-social-title {
        text-align: center;
    }

    .contact-social-icons {
        justify-content: center;
    }

    .contact-cta-buttons {
        gap: 15px;
    }

    .contact-cta-button {
        padding: 14px 35px;
        font-size: 1rem;
    }

}

/* Tablets */
@media (max-width: 767.98px) {
    .contact-hero-banner {
        min-height: 300px;
        padding: 50px 0;
    }

    .contact-hero-title {
        font-size: 2rem;
        margin-bottom: 12px;
    }

    .contact-hero-content p {
        font-size: 0.95rem;
    }

    .contact-form-subtitle {
        font-size: 0.71rem;
    }

    .contact-cta-section {
        padding: 60px 0;
    }

    .contact-cta-content {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .contact-cta-section .container::before {
        width: 250px;
        height: 250px;
        right: -80px;
        top: -40px;
    }

    .contact-cta-section::after {
        width: 220px;
        height: 220px;
        left: -60px;
        top: -60px;
    }

    .contact-cta-title {
        font-size: 1.75rem;
        margin-bottom: 15px;
    }

    .contact-cta-description {
        font-size: 0.95rem;
        margin-bottom: 30px;
        padding: 0 10px;
    }

    .contact-cta-buttons {
        /* flex-direction: column; */
        gap: 12px;
    }

    .contact-cta-button {
        font-size: 0.95rem;
        width: 100%;
        max-width: 300px;
        padding: 14px 30px;
        justify-content: center;
    }
}

/* Mobile devices */
@media (max-width: 575px) {
    .contact-hero-banner {
        min-height: 250px;
        padding: 40px 0;
    }

    .contact-hero-title {
        font-size: 1.5rem;
        letter-spacing: 0.5px;
        margin-bottom: 10px;
    }

    .contact-hero-content p {
        font-size: 0.85rem;
        line-height: 1.5;
    }

    .map-header-top i,
    .map-header-top .map-header-top-title {
        font-size: 1.3rem;
    }

    .map-header p {
        font-size: 0.85rem;
    }

    .contact-cta-section {
        padding: 50px 0;
    }

    .contact-cta-section .container::before {
        width: 180px;
        height: 180px;
        right: -60px;
        top: -30px;
    }

    .contact-cta-section::after {
        width: 160px;
        height: 160px;
        left: -50px;
        top: -50px;
    }

    .contact-cta-title {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }

    .contact-cta-description {
        font-size: 0.9rem;
        margin-bottom: 25px;
        line-height: 1.6;
    }

    /* .contact-cta-button {
        padding: 12px 25px;
        font-size: 0.95rem;
        gap: 10px;
    } */

    .contact-cta-buttons {
        flex-direction: column;
        gap: 10px;
    }

    .contact-cta-button,
    .contact-cta-button i {
        font-size: 0.9rem;
    }
}

/* Extra small devices */
@media (max-width: 375px) {
    .contact-hero-title {
        font-size: 1.3rem;
    }

    .contact-hero-content p {
        font-size: 0.8rem;
    }

    .contact-cta-title {
        font-size: 1.3rem;
    }

    .contact-cta-description {
        font-size: 0.85rem;
    }

    .contact-cta-button,
    .contact-cta-button i {
        font-size: 0.85rem;
    }
}

/* ============= Pendaftaran Skuad Budaya / Volunteer ==============  */
/* Volunteer Hero Banner */
.volunteer-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.volunteer-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/template_portal/images/sukarelawan-banner1.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.volunteer-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.volunteer-hero-banner .container .volunteer-hero-content {
    text-align: center;
}

.volunteer-hero-content {
    position: relative;
    z-index: 3;
}

.volunteer-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.volunteer-hero-content p {
    color: var(--white);
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/* Volunteer Section */
.volunteer-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background: var(--theme4);
}

/* Volunteer Info Box */
.volunteer-info-box {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.volunteer-info-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: white;
    margin-bottom: 0;
    padding: 20px 25px;
    background: var(--theme4-bg-gradient);
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.4;
    min-height: 70px;
    display: flex;
    align-items: center;
}

.volunteer-info-title i {
    background: rgba(255, 255, 255, 0.2);
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
    font-size: 1.2rem;
}

.volunteer-info-body {
    padding: 25px;
}

.volunteer-info-body ul {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}

.volunteer-info-body ul li {
    margin-bottom: 10px;
    color: #666;
    line-height: 1.6;
    text-align: justify;
    font-size: 1.1rem;
}

.volunteer-info-body p {
    color: #666;
    line-height: 1.6;
    text-align: justify;
    margin: 0;
    font-size: 1.1rem;
}

/* Volunteer Form Box */
.volunteer-form {
    position: relative;
    overflow: visible !important;
}

.volunteer-form-box {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: visible !important;
}

.volunteer-form-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: white;
    margin-bottom: 0;
    padding: 20px 25px;
    background: var(--theme4-bg-gradient);
    min-height: 70px;
    display: flex;
    align-items: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    text-transform: uppercase;
}

/* Content area padding */
.volunteer-form-box>.alert {
    margin: 25px 25px 15px 25px;
}

.volunteer-form-box>.volunteer-form {
    padding: 0 25px 25px 25px;
}

.volunteer-form-box .volunteer-form>.alert {
    margin-bottom: 20px;
}

.form-section-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}

/* Form Styling */
.volunteer-form .form-label {
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.volunteer-form .form-label em {
    font-style: italic;
    color: #666;
}

.volunteer-form .form-control,
.volunteer-form .form-select {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.volunteer-form .form-control:focus,
.volunteer-form .form-select:focus {
    border-color: #5B73A3;
    box-shadow: 0 0 0 0.2rem rgba(91, 115, 163, 0.15);
}

.volunteer-form .form-select {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background-image: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
}

.volunteer-form .form-select:focus {
    z-index: 1000 !important;
    position: relative;
}

.volunteer-form .row {
    position: relative;
    overflow: visible !important;
}

.volunteer-form .nice-select::after {
    display: block !important;
    right: 15px;
    top: 50%;
}

.volunteer-form .form-control {
    padding-left: 45px !important;
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 20px 20px;
}

.volunteer-form input[name="nama"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23999' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z' /%3E%3C/svg%3E");
}

.volunteer-form input[name="mykad"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23999' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25v10.5A2.25 2.25 0 004.5 19.5zm6-10.125a1.875 1.875 0 11-3.75 0 1.875 1.875 0 013.75 0zm1.294 6.336a6.721 6.721 0 01-3.17.789 6.721 6.721 0 01-3.168-.789 3.376 3.376 0 016.338 0z' /%3E%3C/svg%3E");
}

.volunteer-form input[name="emel"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23999' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75' /%3E%3C/svg%3E");
}

.volunteer-form input[name="noTelefon"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23999' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 002.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 01-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 00-1.091-.852H4.5A2.25 2.25 0 002.25 4.5v2.25z' /%3E%3C/svg%3E");
}

/* Alert Styling */
.volunteer-form .alert {
    border-radius: 8px;
    padding: 12px 15px;
}

.volunteer-form-box .alert-info {
    background-color: #e7f3ff;
    border-color: #b3d9ff;
    color: #004085;
}

/* Submit Button */
.volunteer-form .btn-submit {
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    padding: 12px 35px;
    border-radius: 15px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(91, 115, 163, 0.3);
}

.volunteer-form .btn-submit:hover {
    transform: translateY(-4px);
}

.volunteer-form .btn-submit:active {
    transform: translateY(0);
}

/* reCAPTCHA styling */
.g-recaptcha {
    transform: scale(0.95);
    transform-origin: 0 0;
}

@media (max-width: 1200px) {
    .volunteer-hero-title {
        font-size: 50px;
    }
}

@media (max-width: 991.98px) {
    .volunteer-hero-title {
        font-size: 40px;
    }

    .volunteer-hero-content p {
        font-size: 17px;
    }

    .volunteer-hero-banner .container .volunteer-hero-content {
        text-align: center;
    }

    .volunteer-hero-banner .container .volunteer-hero-content .volunteer-breadcrumbs {
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .volunteer-hero-title {
        font-size: 30px;
    }

    .volunteer-hero-content p {
        font-size: 13px;
    }
}

@media (max-width: 525.98px) {
    .volunteer-hero-title {
        font-size: 25px;
    }

    .volunteer-hero-content p {
        font-size: 12px;
    }
}

/* ============= Info / About Us ==============  */
.about-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.about-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: var(--hero-bg), url('/template_portal/images/info.jpg'); */
    background: url('/template_portal/images/info.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.about-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.about-hero-banner .container .about-hero-content {
    text-align: center;
}

.about-hero-content {
    position: relative;
    z-index: 3;
}

.about-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.about-hero-content p {
    color: var(--white);
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

/* About Content Section */
.about-content-section {
    padding-top: 80px;
    padding-bottom: 0;
    background: #f8f9fa;
}

.about-content-section:nth-of-type(2) {
    padding-top: 80px;
    padding-bottom: 80px;
    background: var(--theme4);
}

.about-content-section:last-of-type {
    padding-top: 0;
    padding-bottom: 80px;
    background: var(--body);
}

/* Rumah Seni JKKN Card */
.about-rumah-seni-card {
    background: var(--theme4-bg-gradient-2);
    padding: 30px 25px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: 20px;
}

.about-rumah-seni-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    /* box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2); */
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(1.7px);
    -webkit-backdrop-filter: blur(1.7px);
}

.about-rumah-seni-icon-wrapper i {
    font-size: 1.6rem;
    color: var(--white);
}

.about-rumah-seni-card h5 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--white);
}

.about-rumah-seni-card p {
    font-size: 0.9rem;
    margin-bottom: 0;
    color: var(--white);
    line-height: 1.5;
}

/* Quick Access Card */
.about-quick-access-card {
    background: white;
    border-radius: 20px;
    padding: 0;
    margin-bottom: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.about-quick-access-header {
    padding: 20px 25px;
    background: white;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
}

.about-quick-access-header i {
    color: var(--theme);
    font-size: 1.1rem;
}

.about-quick-access-header span {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
}

.about-quick-access-items {
    padding: 15px 25px 25px 25px;
}

.about-quick-access-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    margin-bottom: 10px;
    text-decoration: none;
    color: #374151;
    border-radius: 12px;
    transition: all 0.3s ease;
    background: #f9fafb;
}

.about-quick-access-item:last-child {
    margin-bottom: 0;
}

.about-quick-access-item:hover {
    background: #f3f4f6;
    transform: translateX(5px);
}

.about-quick-access-icon {
    width: 45px;
    height: 45px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.about-quick-access-icon i {
    font-size: 1.1rem;
    /* color: white; */
}

.about-quick-access-icon.blue {
    background: #DBEAFE;
    color: #3B5FCC;
}

.about-quick-access-icon.purple {
    background: #F3E8FF;
    color: #9810FA;
}

.about-quick-access-icon.green {
    background: #DCFCE7;
    color: #00A63E;
}

.about-quick-access-icon.orange {
    background: #FFEDD4;
    color: #F54900;
}

.about-quick-access-item span {
    font-size: 0.95rem;
    font-weight: 500;
}

/* Help Box */
.about-help-box {
    padding: 30px 25px;
    background: linear-gradient(to bottom, #EFF6FF, #FAF5FF);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.1);
    text-align: center;
    color: white;
    margin: 20px 0 0 0;
    border-radius: 20px;
}

.about-help-icon-wrapper {
    width: 60px;
    height: 60px;
    background: var(--btn-bg-theme);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
}

.about-help-icon-wrapper i {
    font-size: 1.6rem;
    color: var(--white);
}

.about-help-card {
    background: white;
    padding: 30px 25px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.about-help-card h5 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #1f2937;
}

.about-help-card p {
    font-size: 0.9rem;
    margin-bottom: 20px;
    color: #6b7280;
    line-height: 1.5;
}

.about-help-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
}

.about-help-icon i {
    font-size: 1.8rem;
    color: white;
}

.about-help-box h5 {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: white;
}

.about-help-box p {
    font-size: 0.9rem;
    margin-bottom: 20px;
    opacity: 0.95;
}

.about-help-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--btn-bg-theme);
    color: white;
    padding: 12px 28px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    width: 100%;
}

.about-help-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(156, 39, 176, 0.35);
}

.about-help-btn i {
    font-size: 1rem;
}

/* Content Box */
.about-content-box {
    background: white;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.about-content-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 25px;
    position: relative;
    display: inline-block;
    border-left: 3px solid var(--theme);
    padding-left: 15px;
}

/* .about-content-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--theme);
} */

.about-content-image {
    padding: 30px 20px;
}

.about-content-text {
    color: #666;
    line-height: 1.8;
}

.about-content-text p {
    margin-bottom: 20px;
    text-align: justify;
    color: #666;
    font-size: 0.95rem;
    line-height: 1.8;
}

.about-content-text p:first-of-type {
    color: var(--text);
}

.about-content-text strong {
    color: var(--theme);
    font-weight: 600;
}

/* Strategic Plans */
.about-strategic-plans {
    margin: 30px 0;
}

.about-plan-item {
    display: flex;
    gap: 20px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    border-left: 4px solid var(--theme4);
}

.about-plan-item:hover {
    background: #e9ecef;
    transform: translateX(5px);
}

.about-plan-icon {
    width: 50px;
    height: 50px;
    background: var(--btn-bg-theme);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.about-plan-icon i {
    font-size: 1.3rem;
    color: white;
}

.about-plan-content h6 {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.about-plan-content p {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 0;
}

.about-objectives {
    margin: 30px 0 0 0;
    padding: 25px;
    border-radius: 12px;
    background: #E1E6F4;
    border: 1px solid var(--theme);
}

.about-objectives h5 {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 15px;
    background: var(--btn-bg-theme);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #6A1B9A;
}

.about-objectives ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.about-objectives ul li {
    padding-left: 35px;
    position: relative;
    margin-bottom: 12px;
    color: #666;
    line-height: 1.6;
    font-size: 0.95rem;
}

.about-objectives ul li::before {
    content: "●";
    position: absolute;
    left: 10px;
    top: 0;
    background: var(--btn-bg-theme);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.6;
}

.about-features-section {
    padding: 80px 0;
    background: var(--theme4-bg-gradient-2);
}

/* Features */
.about-features {
    text-align: center;
}

.about-features h5 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--white);
}

.about-features>p {
    color: var(--white);
    margin-bottom: 0;
    font-size: 1rem;
    /* max-width: 800px; */
    margin-left: auto;
    margin-right: auto;
}

.about-feature-card {
    padding: 40px 30px;
    background: white;
    border-radius: 15px;
    text-align: center;
    height: 100%;
    transition: all 0.3s ease;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
}

.about-feature-card:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    transform: translateY(-5px);
}

.about-feature-icon {
    width: 80px;
    height: 80px;
    background: var(--btn-bg-theme);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
}

.about-feature-icon i {
    font-size: 2rem;
    color: white;
}

.about-feature-card h6 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
}

.about-feature-card p {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 0;
    line-height: 1.7;
}

.about-cta-section {
    padding: 0;
    background: #15133F;
}

.about-cta-section .container::before {
    content: "";
    position: absolute;
    width: 384px;
    height: 384px;
    left: 1092px;
    top: -9px;
    background: rgba(86, 95, 128, 0.87);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.about-cta-section .container::after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    left: -263px;
    top: -134px;
    background: rgba(86, 95, 128, 0.87);
    filter: blur(64px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.about-cta-box {
    position: relative;
    padding: 80px 0;
    text-align: center;
    color: white;
    margin: 0;
    overflow: hidden;
}

.about-cta-box .container {
    position: relative;
    z-index: 1;
}

.about-cta-box h5 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--white);
    letter-spacing: 0.5px;
}

.about-cta-box p {
    font-size: 1.1rem;
    margin-bottom: 35px;
    color: var(--white);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.about-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-about-primary,
.btn-about-secondary {
    padding: 15px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    display: inline-block;
    min-width: 180px;
}

.btn-about-primary {
    background: white;
    color: var(--theme);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-about-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    background: #f8f9fa;
}

.btn-about-secondary {
    background: transparent;
    color: var(--white);
    border: 2px solid var(--white);
}

.btn-about-secondary:hover {
    background: var(--theme);
    color: var(--white);
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
}

.btn-about-primary i,
.btn-about-secondary i {
    padding-right: 5px;
}

/* Responsive */
@media (max-width: 991px) {
    .about-hero-banner .container .about-hero-content {
        text-align: center;
    }

    .about-hero-banner .container .about-hero-content .about-breadcrumbs {
        justify-content: center;
    }

    .about-hero-title {
        font-size: 45px;
    }

    .about-hero-content p {
        font-size: 1.2rem;
    }

    .about-content-section {
        padding: 60px 0 0 0;
    }

    .about-content-section:nth-of-type(2) {
        padding: 60px 0;
    }

    .about-content-section:last-of-type {
        padding: 0 0 60px 0;
    }

    .about-sidebar-box {
        margin-bottom: 20px;
    }

    .about-help-box {
        margin-top: 20px;
    }

    .about-content-box {
        padding: 30px 25px;
    }

    .about-content-title {
        font-size: 1.3rem;
    }

    .about-features h5 {
        font-size: 1.5rem;
    }

    .about-cta-box h5 {
        font-size: 1.5rem;
    }

    .about-cta-section .container::before,
    .about-cta-section .container::after {
        display: none;
    }
}

@media (max-width: 767px) {
    .about-hero-title {
        font-size: 35px;
    }

    .about-hero-content p {
        font-size: 0.9rem;
        line-height: 16px;
    }

    .about-content-section {
        padding: 40px 0 0 0;
    }

    .about-content-section:nth-of-type(2) {
        padding: 40px 0;
    }

    .about-content-section:last-of-type {
        padding: 0 0 40px 0;
    }

    .about-content-box {
        padding: 25px 20px;
    }

    .about-plan-item {
        flex-direction: column;
        text-align: center;
    }

    .about-plan-icon {
        margin: 0 auto 15px;
    }

    .about-cta-buttons {
        flex-direction: column;
    }

    .btn-about-primary,
    .btn-about-secondary {
        width: 100%;
    }

    .about-help-box {
        margin: 20px 0 0 0;
    }

    .about-features h5 {
        font-size: 1.3rem;
    }

    .about-features>p {
        font-size: 0.95rem;
    }

    .about-cta-box {
        padding: 35px 25px;
    }

    .about-cta-box h5 {
        font-size: 1.3rem;
    }

    .about-cta-box p {
        font-size: 0.95rem;
    }
}

@media (max-width: 576px) {
    .about-hero-title {
        font-size: 25px;
    }

    .about-hero-content p {
        font-size: 0.7rem;
    }

    .about-content-section:nth-of-type(2) {
        padding: 40px 20px;
    }

    .about-features-section {
        padding: 80px 20px;
    }

    .about-cta-box {
        padding: 40px 60px;
    }
}

/* =========== Direktori List =========== */
/* Hero Banner */
.direktori-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.direktori-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/template_portal/images/bg/banner6.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.direktori-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.direktori-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
}

.direktori-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.direktori-hero-content p {
    color: var(--white);
    /* font-size: 1.1rem; */
    margin: 10px 0 5px 0;
}

.direktori-hero-subtitle {
    color: rgba(255, 255, 255, 0.9);
    /* font-size: 0.95rem; */
}

.direktori-hero-content p,
.direktori-hero-subtitle {
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/* Main Content */
.direktori-content-section {
    background: var(--theme4);
    padding: 40px 0 80px;
}

.direktori-main-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
}

.direktori-sidebar {
    height: fit-content;
}

.direktori-filter-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.direktori-filter-header {
    background: var(--btn-bg-theme);
    color: white;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.direktori-filter-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.direktori-filter-icon i {
    font-size: 1.2rem;
}

.direktori-filter-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--white);
}

.direktori-filter-body {
    padding: 25px;
}

.direktori-filter-group {
    margin-bottom: 25px;
}

.direktori-filter-group:last-child {
    margin-bottom: 0;
}

.direktori-filter-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--theme);
    font-size: 0.9rem;
    margin-bottom: 10px;
}

.direktori-filter-label i {
    font-size: 0.9rem;
}

/* Search Input with Clear & Search Icons */
.direktori-search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.direktori-search-input-wrapper .direktori-filter-input {
    padding-right: 95px;
}

.direktori-clear-icon-btn {
    position: absolute;
    right: 50px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ef4444;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
}

.direktori-clear-icon-btn:hover {
    background: #dc2626;
    transform: scale(1.05);
}

.direktori-clear-icon-btn i {
    font-size: 0.85rem;
}

.direktori-search-icon-btn {
    position: absolute;
    right: 5px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
}

.direktori-search-icon-btn:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
    transform: scale(1.05);
}

.direktori-search-icon-btn i {
    font-size: 0.9rem;
}

.direktori-filter-input,
.direktori-filter-select {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 0.9rem;
    transition: all 0.3s;
    color: var(--black);
}

.direktori-filter-input:focus,
.direktori-filter-select:focus {
    outline: none;
    border-color: var(--theme);
    color: var(--black);
}

.direktori-checkbox-list {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 5px;
}

.direktori-checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s;
}

.direktori-checkbox-item:hover {
    background: #f9fafb;
}

.direktori-checkbox-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.direktori-checkbox-label {
    font-size: 0.9rem;
    color: #374151;
}

.direktori-filter-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 25px;
}

.direktori-btn-search,
.direktori-btn-reset {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s;
    border: none;
    cursor: pointer;
}

.direktori-btn-search {
    background: var(--btn-bg-theme);
    color: white;
}

.direktori-btn-search:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
    transform: translateY(-2px);
}

.direktori-btn-reset {
    background: #f3f4f6;
    color: #6b7280;
}

.direktori-btn-reset:hover {
    background: #e5e7eb;
}

/* View Controls */
.direktori-view-controls {
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background: white;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    gap: 20px;
}

.direktori-view-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.direktori-view-total {
    display: flex;
    align-items: center;
}

.direktori-view-total span {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--theme);
}

/* Active Filters Tags */
.direktori-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.direktori-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.direktori-filter-tag i:first-child {
    font-size: 0.75rem;
}

.direktori-filter-tag span {
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.direktori-tag-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: white;
    text-decoration: none;
    transition: all 0.3s;
    margin-left: 4px;
}

.direktori-tag-remove:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.direktori-tag-remove i {
    font-size: 0.7rem;
}

.direktori-clear-all-filters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #ef4444;
    color: white;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

.direktori-clear-all-filters:hover {
    background: #dc2626;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
}

.direktori-clear-all-filters i {
    font-size: 0.75rem;
}

.direktori-category-filter-modern {
    position: relative;
}

.direktori-category-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 15px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    font-size: 0.9rem;
    font-weight: 500;
    color: #475569;
    width: 100%;
}

.direktori-category-trigger:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.direktori-category-trigger.active {
    border-color: #3b82f6;
    background: #eff6ff;
    color: #1e40af;
}

.direktori-category-icon {
    display: flex;
    align-items: center;
    color: #64748b;
}

.direktori-category-trigger.active .direktori-category-icon {
    color: #3b82f6;
}

.direktori-category-text {
    flex: 1;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.direktori-chevron-icon {
    transition: transform 0.3s ease;
    color: #94a3b8;
    flex-shrink: 0;
}

.direktori-category-trigger.active .direktori-chevron-icon {
    transform: rotate(180deg);
    color: #3b82f6;
}

/* Modern Dropdown Menu */
.direktori-modern-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: white;
    border-radius: 12px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(0, 0, 0, 0.05);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    overflow: hidden;
}

.direktori-modern-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.direktori-dropdown-header {
    padding: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.direktori-dropdown-search {
    width: 100%;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.85rem;
    outline: none;
    transition: all 0.3s ease;
}

.direktori-dropdown-search:focus {
    border-color: #3b82f6;
    background: #f8fafc;
    color: #1e293b;
}

.direktori-dropdown-body {
    max-height: 250px;
    overflow-y: auto;
    padding: 6px;
}

.direktori-dropdown-body::-webkit-scrollbar {
    width: 6px;
}

.direktori-dropdown-body::-webkit-scrollbar-track {
    background: transparent;
}

.direktori-dropdown-body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.direktori-dropdown-body::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.direktori-category-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 2px;
}

.direktori-category-option:hover {
    background: #f8fafc;
}

.direktori-option-text {
    font-size: 0.85rem;
    font-weight: 500;
    color: #475569;
}

.direktori-option-check {
    font-size: 14px;
    color: #3b82f6;
    font-weight: 700;
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s ease;
}

.direktori-category-option.active {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.direktori-category-option.active .direktori-option-text {
    color: white;
    font-weight: 600;
}

.direktori-category-option.active .direktori-option-check {
    opacity: 1;
    transform: scale(1);
    color: white;
}

.direktori-view-toggle {
    display: flex;
    gap: 8px;
}

.direktori-view-btn {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    color: #6b7280;
}

.direktori-view-btn:hover {
    background: #f3f4f6;
    color: var(--theme);
}

.direktori-view-btn.active {
    background: var(--btn-bg-theme);
    color: white;
}

.direktori-view-btn i {
    font-size: 1.1rem;
}

.direktori-contact-tooltip {
    position: fixed;
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    min-width: 280px;
    animation: tooltipFadeIn 0.3s ease;
}

@keyframes tooltipFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.direktori-tooltip-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: #f3f4f6;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    color: #6b7280;
}

.direktori-tooltip-close:hover {
    background: #ef4444;
    color: white;
    transform: rotate(90deg);
}

.direktori-tooltip-close i {
    font-size: 0.85rem;
}

.direktori-tooltip-content {
    padding-top: 10px;
}

.direktori-tooltip-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
}

.direktori-tooltip-item:last-child {
    border-bottom: none;
}

.direktori-tooltip-item i {
    width: 20px;
    color: var(--theme);
    font-size: 1rem;
}

.direktori-tooltip-item span {
    font-size: 0.9rem;
    color: #374151;
    word-break: break-word;
}

/* Arrow pointer for tooltip */
.direktori-contact-tooltip::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid white;
}

/* Listings Grid */
.direktori-listings-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    align-items: start;
}

.direktori-listings-grid.direktori-list-view {
    grid-template-columns: 1fr;
}

.direktori-listing-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    height: 580px;
}

.direktori-listing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.direktori-card-image {
    position: relative;
    height: 220px;
}

.direktori-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.direktori-card-logo {
    position: absolute;
    bottom: -30px;
    left: 20px;
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 4px solid white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    background: var(--white);
}

.direktori-card-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.direktori-card-content {
    padding: 40px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.direktori-card-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 15px 0;
    line-height: 1.4;
}

.direktori-card-title a {
    color: var(--theme);
    text-decoration: none;
    transition: color 0.3s;
}

.direktori-card-title a:hover {
    color: var(--gold);
}

.direktori-card-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}

.direktori-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: #6b7280;
}

.direktori-meta-item i {
    color: var(--theme);
    width: 16px;
}

.direktori-card-description {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 15px 0;
    height: 75px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.direktori-card-location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: var(--theme);
    font-weight: 500;
    padding: 12px;
    background: #f9fafb;
    border-radius: 8px;
    margin-bottom: 15px;
    margin-top: auto;
}

.direktori-card-location i {
    font-size: 1rem;
}

.direktori-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    border-top: 1px solid #e5e7eb;
    margin-top: 0;
}

.direktori-btn-detail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--btn-bg-theme);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s;
}

.direktori-btn-detail:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
    transform: translateX(3px);
}

.direktori-card-actions {
    display: flex;
    gap: 8px;
}

.direktori-action-btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border: none;
    border-radius: 8px;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}

.direktori-action-btn:hover {
    background: var(--theme);
    color: white;
}

.direktori-action-btn i {
    font-size: 0.95rem;
}

/* Contact Info */
.direktori-contact-info {
    margin-top: 15px;
    padding: 15px;
    background: #f9fafb;
    border-radius: 8px;
}

.direktori-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    color: #4b5563;
    margin-bottom: 8px;
}

.direktori-contact-item:last-child {
    margin-bottom: 0;
}

.direktori-contact-item i {
    color: var(--theme);
    width: 16px;
}

/* No Results */
.direktori-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 20px;
}

.direktori-no-results i {
    font-size: 4rem;
    color: #d1d5db;
    margin-bottom: 20px;
}

.direktori-no-results h3 {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--white);
    margin: 0 0 10px 0;
}

.direktori-no-results p {
    color: white;
    margin: 0;
}

/* Pagination */
.direktori-pagination .pagination-info {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

/* List View Adjustments */
.direktori-listings-grid.direktori-list-view .direktori-listing-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    height: 320px;
}

.direktori-listings-grid.direktori-list-view .direktori-card-image {
    height: 320px;
    min-height: 320px;
    max-height: 320px;
    position: relative;
    overflow: hidden;
}

.direktori-listings-grid.direktori-list-view .direktori-card-logo {
    position: absolute;
    bottom: 15px;
    left: 20px;
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 4px solid white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    background: var(--white);
    z-index: 10;
}

.direktori-listings-grid.direktori-list-view .direktori-card-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.direktori-listings-grid.direktori-list-view .direktori-card-description {
    min-height: auto;
    max-height: 60px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.direktori-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.direktori-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.direktori-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

.direktori-modal-content {
    position: relative;
    background: white;
    border-radius: 12px;
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.direktori-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e9ecef;
}

.direktori-modal-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
}

.direktori-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #6c757d;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.direktori-modal-close:hover {
    color: #dc3545;
    transform: rotate(90deg);
}

.direktori-modal-body {
    padding: 20px;
}

.direktori-modal-item {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.direktori-modal-item:last-child {
    margin-bottom: 0;
}

.direktori-modal-item i {
    font-size: 20px;
    color: #4a6fa5;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.direktori-modal-item-content {
    flex: 1;
    min-width: 0;
}

.direktori-modal-item-content label {
    display: block;
    font-weight: 600;
    color: #2c3e50;
    font-size: 14px;
}

.direktori-modal-item-content span {
    display: block;
    color: #6c757d;
    font-size: 15px;
    word-break: break-word;
}

/* Responsive */
@media (max-width: 1199px) {
    .direktori-main-grid {
        grid-template-columns: 280px 1fr;
        gap: 25px;
    }

    .direktori-listings-grid {
        grid-template-columns: 1fr;
    }

    .direktori-view-toggle {
        display: none;
    }
}

@media (max-width: 991px) {
    .direktori-main-grid {
        grid-template-columns: 1fr;
    }

    .direktori-sidebar {
        position: relative;
        top: 0;
    }

    .direktori-listings-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .direktori-view-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .direktori-view-toggle {
        justify-content: center;
    }

}

@media (max-width: 767px) {
    .direktori-hero-banner {
        min-height: 280px;
        padding: 60px 0 80px 0;
    }

    .direktori-hero-title {
        font-size: 1.8rem;
    }

    .direktori-hero-content p {
        font-size: 1rem;
    }

    .direktori-hero-subtitle {
        font-size: 0.85rem;
    }

    .direktori-content-section {
        padding: 30px 0 60px;
    }

    .direktori-view-controls {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .direktori-active-filters {
        flex-direction: column;
        align-items: stretch;
    }

    .direktori-filter-tag,
    .direktori-clear-all-filters {
        justify-content: space-between;
    }

    .direktori-view-total {
        justify-content: center;
    }

    .direktori-view-toggle {
        justify-content: center;
    }

    .direktori-listings-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .direktori-listings-grid.direktori-list-view .direktori-listing-card {
        grid-template-columns: 1fr;
        height: auto;
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-image {
        height: 220px;
        /* min-height: auto; */
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-logo {
        bottom: -30px;
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-content {
        padding: 40px 20px 20px;
    }

    .direktori-card-footer {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .direktori-btn-detail {
        justify-content: center;
    }

    .direktori-card-actions {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .direktori-content-section {
        padding: 30px 35px 60px;
    }

    .direktori-filter-body {
        padding: 20px;
    }

    .direktori-card-content {
        padding: 35px 15px 15px;
    }

    .direktori-search-input-wrapper .direktori-filter-input {
        padding-right: 90px;
        font-size: 0.85rem;
    }

    .direktori-clear-icon-btn {
        right: 45px;
        width: 32px;
        height: 32px;
    }

    .direktori-search-icon-btn {
        width: 36px;
        height: 36px;
    }

    .direktori-modal-content {
        max-width: 95%;
    }

    .direktori-modal-header {
        padding: 15px;
    }

    .direktori-modal-body {
        padding: 15px;
    }
}

@media (max-width: 355px) {

    /* Reduce container padding */
    .direktori-content-section {
        padding: 20px 15px 40px;
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Hero adjustments */
    .direktori-hero-banner {
        min-height: 240px;
        padding: 50px 0 60px 0;
    }

    .direktori-hero-title {
        font-size: 1.5rem;
        letter-spacing: 1px;
    }

    .direktori-hero-content p {
        font-size: 0.9rem;
    }

    .direktori-hero-subtitle {
        font-size: 0.8rem;
    }

    /* Filter card - reduce padding */
    .direktori-filter-card {
        margin: 0 -5px;
    }

    .direktori-filter-header {
        padding: 15px 15px;
    }

    .direktori-filter-header h3 {
        font-size: 1rem;
    }

    .direktori-filter-icon {
        width: 35px;
        height: 35px;
    }

    .direktori-filter-body {
        padding: 15px;
    }

    /* Search input wrapper - make buttons smaller */
    .direktori-search-input-wrapper .direktori-filter-input {
        padding: 10px 80px 10px 12px;
        font-size: 0.8rem;
    }

    .direktori-clear-icon-btn {
        right: 40px;
        width: 28px;
        height: 28px;
    }

    .direktori-clear-icon-btn i {
        font-size: 0.75rem;
    }

    .direktori-search-icon-btn {
        width: 32px;
        height: 32px;
        right: 4px;
    }

    .direktori-search-icon-btn i {
        font-size: 0.8rem;
    }

    /* Filter labels */
    .direktori-filter-label {
        font-size: 0.85rem;
    }

    /* Category trigger - smaller padding */
    .direktori-category-trigger {
        padding: 10px 12px;
        font-size: 0.85rem;
    }

    /* Dropdown adjustments */
    .direktori-dropdown-body {
        max-height: 200px;
    }

    .direktori-category-option {
        padding: 8px 10px;
    }

    .direktori-option-text {
        font-size: 0.8rem;
    }

    /* Checkboxes */
    .direktori-checkbox-list {
        max-height: 200px;
    }

    .direktori-checkbox-item {
        padding: 8px;
    }

    .direktori-checkbox-label {
        font-size: 0.85rem;
    }

    /* Filter buttons */
    .direktori-btn-search,
    .direktori-btn-reset {
        padding: 10px 16px;
        font-size: 0.85rem;
    }

    /* View controls - reduce padding */
    .direktori-view-controls {
        padding: 12px 15px;
        gap: 12px;
    }

    .direktori-view-total span {
        font-size: 0.85rem;
    }

    /* Active filters - stack vertically on very small screens */
    .direktori-active-filters {
        gap: 6px;
    }

    .direktori-filter-tag {
        padding: 5px 10px;
        font-size: 0.75rem;
        width: 100%;
        justify-content: space-between;
    }

    .direktori-filter-tag span {
        max-width: 180px;
    }

    .direktori-clear-all-filters {
        padding: 5px 12px;
        font-size: 0.75rem;
        width: 100%;
        justify-content: center;
    }

    /* Main content area */
    .direktori-main-content {
        margin: 0 -5px;
    }

    /* Listings grid */
    .direktori-listings-grid {
        gap: 15px;
    }

    /* Card adjustments */
    .direktori-listing-card {
        border-radius: 12px;
    }

    .direktori-card-image {
        height: 180px;
    }

    .direktori-card-logo {
        width: 60px;
        height: 60px;
        left: 15px;
        bottom: -25px;
    }

    .direktori-card-content {
        padding: 30px 12px 12px;
    }

    .direktori-card-title {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .direktori-meta-item,
    .direktori-card-description {
        font-size: 0.85rem;
    }

    .direktori-card-description {
        min-height: 50px;
    }

    .direktori-card-location {
        padding: 10px;
        font-size: 0.85rem;
        margin-bottom: 12px;
    }

    .direktori-btn-detail {
        padding: 8px 16px;
        font-size: 0.8rem;
    }

    .direktori-action-btn {
        width: 34px;
        height: 34px;
    }

    .direktori-action-btn i {
        font-size: 0.85rem;
    }

    /* Contact info */
    .direktori-contact-info {
        padding: 12px;
    }

    .direktori-contact-item {
        font-size: 0.8rem;
    }

    /* Pagination */
    .aktiviti-pagination {
        margin-top: 30px;
    }

    /* No results */
    .direktori-no-results {
        padding: 60px 15px;
    }

    .direktori-no-results i {
        font-size: 3rem;
    }

    .direktori-no-results h3 {
        font-size: 1.2rem;
    }

    .direktori-no-results p {
        font-size: 0.9rem;
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-image {
        height: 180px;
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-logo {
        width: 60px;
        height: 60px;
        bottom: -25px;
    }

    .direktori-listings-grid.direktori-list-view .direktori-card-content {
        padding: 30px 12px 12px;
    }
}

@media (max-width: 285px) {

    /* Minimal container padding */
    .direktori-content-section {
        padding: 15px 10px 30px;
    }

    .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Hero - more compact */
    .direktori-hero-banner {
        min-height: 200px;
        padding: 40px 0 50px 0;
    }

    .direktori-hero-title {
        font-size: 1.3rem;
        letter-spacing: 0.5px;
    }

    .direktori-hero-content p {
        font-size: 0.85rem;
        margin: 8px 0 4px 0;
    }

    .direktori-hero-subtitle {
        font-size: 0.75rem;
    }

    /* Filter card - minimal margins */
    .direktori-filter-card {
        margin: 0 -8px;
        border-radius: 12px;
    }

    .direktori-filter-header {
        padding: 12px;
        gap: 8px;
    }

    .direktori-filter-header h3 {
        font-size: 0.9rem;
    }

    .direktori-filter-icon {
        width: 30px;
        height: 30px;
    }

    .direktori-filter-icon i {
        font-size: 1rem;
    }

    .direktori-filter-body {
        padding: 12px;
    }

    .direktori-filter-group {
        margin-bottom: 18px;
    }

    /* Search input - stack buttons vertically if needed */
    .direktori-search-input-wrapper {
        flex-wrap: wrap;
    }

    .direktori-search-input-wrapper .direktori-filter-input {
        padding: 8px 10px;
        font-size: 0.75rem;
        width: 100%;
        margin-bottom: 6px;
    }

    .direktori-clear-icon-btn,
    .direktori-search-icon-btn {
        position: static;
        width: 100%;
        height: 36px;
        border-radius: 6px;
        font-size: 0.75rem;
    }

    .direktori-clear-icon-btn {
        margin-bottom: 6px;
    }

    /* Filter labels */
    .direktori-filter-label {
        font-size: 0.8rem;
        gap: 6px;
    }

    /* Category trigger */
    .direktori-category-trigger {
        padding: 8px 10px;
        font-size: 0.8rem;
        gap: 8px;
    }

    .direktori-category-icon svg {
        width: 14px;
        height: 14px;
    }

    .direktori-chevron-icon {
        width: 14px;
        height: 14px;
    }

    /* Dropdown */
    .direktori-dropdown-header {
        padding: 10px;
    }

    .direktori-dropdown-search {
        padding: 6px 10px;
        font-size: 0.75rem;
    }

    .direktori-dropdown-body {
        max-height: 180px;
        padding: 4px;
    }

    .direktori-category-option {
        padding: 6px 8px;
    }

    .direktori-option-text {
        font-size: 0.75rem;
    }

    .direktori-option-check {
        font-size: 12px;
    }

    /* Checkboxes */
    .direktori-checkbox-list {
        max-height: 180px;
    }

    .direktori-checkbox-item {
        padding: 6px;
        gap: 8px;
    }

    .direktori-checkbox-item input[type="checkbox"] {
        width: 16px;
        height: 16px;
    }

    .direktori-checkbox-label {
        font-size: 0.8rem;
    }

    /* Filter buttons */
    .direktori-filter-actions {
        gap: 8px;
        margin-top: 18px;
    }

    .direktori-btn-search,
    .direktori-btn-reset {
        padding: 9px 14px;
        font-size: 0.8rem;
        gap: 6px;
    }

    .direktori-btn-search i,
    .direktori-btn-reset i {
        font-size: 0.8rem;
    }

    /* View controls */
    .direktori-view-controls {
        padding: 10px 12px;
        gap: 10px;
    }

    .direktori-view-total span {
        font-size: 0.8rem;
    }

    /* Active filters */
    .direktori-active-filters {
        gap: 5px;
    }

    .direktori-filter-tag {
        padding: 4px 8px;
        font-size: 0.7rem;
        gap: 4px;
    }

    .direktori-filter-tag i:first-child {
        font-size: 0.7rem;
    }

    .direktori-filter-tag span {
        max-width: 150px;
        font-size: 0.7rem;
    }

    .direktori-tag-remove {
        width: 16px;
        height: 16px;
        margin-left: 2px;
    }

    .direktori-tag-remove i {
        font-size: 0.65rem;
    }

    .direktori-clear-all-filters {
        padding: 4px 10px;
        font-size: 0.7rem;
        gap: 4px;
    }

    .direktori-clear-all-filters i {
        font-size: 0.7rem;
    }

    /* View toggle buttons */
    .direktori-view-btn {
        width: 38px;
        height: 38px;
    }

    .direktori-view-btn i {
        font-size: 1rem;
    }

    /* Main content */
    .direktori-main-content {
        margin: 0 -8px;
    }

    /* Listings grid */
    .direktori-listings-grid {
        gap: 12px;
    }

    /* Cards */
    .direktori-listing-card {
        border-radius: 10px;
    }

    .direktori-card-image {
        height: 160px;
    }

    .direktori-card-logo {
        width: 50px;
        height: 50px;
        left: 12px;
        bottom: -20px;
        border: 3px solid white;
    }

    .direktori-card-content {
        padding: 25px 10px 10px;
    }

    .direktori-card-title {
        font-size: 0.9rem;
        margin-bottom: 10px;
    }

    .direktori-card-meta {
        gap: 6px;
        margin-bottom: 10px;
    }

    .direktori-meta-item {
        font-size: 0.8rem;
        gap: 6px;
    }

    .direktori-meta-item i {
        width: 14px;
        font-size: 0.8rem;
    }

    .direktori-card-description {
        font-size: 0.8rem;
        min-height: 45px;
        line-height: 1.5;
        margin-bottom: 10px;
    }

    .direktori-card-location {
        padding: 8px;
        font-size: 0.8rem;
        margin-bottom: 10px;
        gap: 6px;
    }

    .direktori-card-location i {
        font-size: 0.9rem;
    }

    .direktori-card-footer {
        padding-top: 10px;
        gap: 10px;
    }

    .direktori-btn-detail {
        padding: 7px 14px;
        font-size: 0.75rem;
        gap: 6px;
    }

    .direktori-btn-detail i {
        font-size: 0.75rem;
    }

    .direktori-card-actions {
        gap: 6px;
    }

    .direktori-action-btn {
        width: 32px;
        height: 32px;
    }

    .direktori-action-btn i {
        font-size: 0.8rem;
    }

    /* Contact info */
    .direktori-contact-info {
        padding: 10px;
        margin-top: 10px;
    }

    .direktori-contact-item {
        font-size: 0.75rem;
        gap: 8px;
        margin-bottom: 6px;
    }

    .direktori-contact-item i {
        width: 14px;
        font-size: 0.75rem;
    }

    /* No results */
    .direktori-no-results {
        padding: 50px 10px;
    }

    .direktori-no-results i {
        font-size: 2.5rem;
        margin-bottom: 15px;
    }

    .direktori-no-results h3 {
        font-size: 1.1rem;
        margin-bottom: 8px;
    }

    .direktori-no-results p {
        font-size: 0.85rem;
    }

    /* Pagination */
    .aktiviti-pagination {
        margin-top: 25px;
    }

    /* Make sure pagination links are touchable */
    .aktiviti-pagination .page-link {
        padding: 6px 10px;
        font-size: 0.8rem;
    }
}

/* =========== Direktori Detail (Profil) =========== */
/* Hero Banner */
.direktori-detail-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.direktori-detail-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

/* Hero Banner */
.direktori-detail-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.direktori-detail-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.direktori-detail-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
}

.direktori-detail-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.direktori-detail-hero-content p {
    color: var(--white);
    margin: 10px 0 5px 0;
}

.direktori-detail-hero-subtitle {
    color: rgba(255, 255, 255, 0.9);
}

.direktori-detail-hero-content p,
.direktori-detail-hero-subtitle {
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

.direktori-detail-content-section {
    background: var(--theme4);
    padding: 40px 0 80px;
}

/* =========== Profil Detail Grid Layout =========== */
.profil-detail-grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 30px;
}

/* =========== Left Column - Programs & Products =========== */
.profil-detail-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.profil-section-card {
    background: white;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.profil-section-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.profil-section-icon {
    width: 50px;
    height: 50px;
    background: var(--btn-bg-theme);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
}

.profil-section-header h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--theme);
}

.profil-section-header-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.profil-count-badge {
    background: #f0f4f8;
    color: #495057;
    padding: 0 10px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 500;
    display: inline-block;
    min-width: 32px;
    text-align: center;
}

/* =========== Program Cards =========== */
.profil-program-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.profil-program-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid #f0f0f0;
    transition: all 0.3s;
}

.profil-program-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.profil-program-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.profil-program-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.profil-program-content {
    padding: 20px;
}

.profil-program-content h3 {
    margin: 0 0 15px 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.profil-program-content h3 a {
    color: var(--theme);
    text-decoration: none;
    transition: color 0.3s;
}

.profil-program-content h3 a:hover {
    color: var(--gold);
}

.profil-program-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}

.profil-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.85rem;
    color: #6b7280;
}

.profil-meta-item i {
    color: var(--theme);
    width: 16px;
    margin-top: 2px;
}

.profil-program-desc {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 15px 0;
    height: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.profil-btn-detail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--btn-bg-theme);
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s;
}

.profil-btn-detail:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
    transform: translateX(5px);
}

/* =========== Product List =========== */
.profil-product-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.profil-product-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: #f9fafb;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s;
    border: 2px solid transparent;
}

.profil-product-item:hover {
    background: white;
    border-color: var(--theme);
    transform: translateX(5px);
}

.profil-product-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1rem;
}

.profil-product-content {
    flex: 1;
}

.profil-product-content h4 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--theme);
}

.profil-product-arrow {
    color: #9ca3af;
    transition: all 0.3s;
}

.profil-product-item:hover .profil-product-arrow {
    color: var(--theme);
    transform: translateX(5px);
}

/* =========== No Data State =========== */
.profil-no-data {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #f9fafb;
    border-radius: 12px;
}

.profil-no-data i {
    font-size: 3rem;
    color: #d1d5db;
    margin-bottom: 15px;
}

.profil-no-data p {
    margin: 0;
    color: #6b7280;
    font-size: 0.95rem;
}

/* =========== Right Column - Contact Info & Form =========== */
.profil-detail-right {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.profil-contact-card,
.profil-contact-form-card {
    background: white;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.profil-contact-header,
.profil-form-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.profil-contact-icon,
.profil-form-icon {
    width: 45px;
    height: 45px;
    background: var(--btn-bg-theme);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.1rem;
}

.profil-contact-header h3,
.profil-form-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--theme);
}

/* =========== Contact Logo =========== */
.profil-contact-logo {
    margin-bottom: 20px;
    border-radius: 12px;
    overflow: hidden;
    border: 3px solid #f0f0f0;
}

.profil-contact-logo img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

/* =========== Contact List =========== */
.profil-contact-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.profil-contact-item {
    display: flex;
    gap: 15px;
    padding: 15px;
    background: #f9fafb;
    border-radius: 10px;
}

.profil-contact-item-icon {
    width: 40px;
    height: 40px;
    background: var(--btn-bg-theme);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.profil-contact-item-content {
    flex: 1;
    min-width: 0;
}

.profil-contact-item-content label {
    display: block;
    font-weight: 600;
    color: var(--theme);
    font-size: 0.85rem;
    margin-bottom: 5px;
}

.profil-contact-item-content span {
    display: block;
    color: #4b5563;
    font-size: 0.9rem;
    word-break: break-word;
}

.profil-web-link {
    display: inline-block;
    color: #4b5563;
    font-size: 0.9rem;
    word-break: break-word;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
    max-width: 100%;
}

.profil-web-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: var(--theme);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease-out;
}

.profil-web-link:hover {
    color: var(--theme);
}

.profil-web-link:hover::after {
    transform: scaleX(1);
}

.profil-about-content-full {
    padding: 0 15px 15px 15px;
}

.profil-about-content-full p {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
    word-break: break-word;
}

.profil-maps-link,
.profil-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 6px 12px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
    transition: all 0.3s;
}

.profil-whatsapp-btn {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

.profil-maps-link:hover,
.profil-whatsapp-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* =========== Social Media =========== */
.profil-social-media {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid #f0f0f0;
}

.profil-social-media label {
    display: block;
    font-weight: 600;
    color: var(--theme);
    font-size: 0.9rem;
    margin-bottom: 12px;
}

.profil-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.profil-social-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: white;
    text-decoration: none;
    transition: all 0.3s;
}

.profil-social-btn:hover {
    transform: translateY(-3px);
}

.profil-social-btn.facebook {
    background: #1877f2;
}

.profil-social-btn.twitter {
    background: var(--black);
}

.profil-social-btn.tiktok {
    background: #000000;
}

.profil-social-btn.instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.profil-social-btn.linkedin {
    background: #0077b5;
}

.profil-social-btn.youtube {
    background: #ff0000;
}

/* =========== Contact Form =========== */
.profil-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 20px;
}

.profil-alert i {
    font-size: 1.2rem;
    margin-top: 2px;
}

.profil-alert-success {
    background: #d1fae5;
    color: #065f46;
}

.profil-alert-success i {
    color: #059669;
}

.profil-alert-error {
    background: #fee2e2;
    color: #991b1b;
}

.profil-alert-error i {
    color: #dc2626;
}

.profil-alert ul {
    margin: 0;
    padding-left: 20px;
}

.profil-alert li {
    margin: 5px 0;
}

.profil-contact-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.profil-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profil-form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--theme);
    font-size: 0.9rem;
}

.profil-form-group label i {
    font-size: 0.85rem;
}

.profil-form-group input,
.profil-form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 0.9rem;
    transition: all 0.3s;
    color: var(--black);
}

.profil-form-group input:focus,
.profil-form-group textarea:focus {
    outline: none;
    border-color: var(--theme);
}

.profil-form-group input[readonly] {
    background: #f9fafb;
    color: #6b7280;
}

.profil-form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.profil-form-captcha {
    display: flex;
    gap: 10px;
    align-items: center;
}

.profil-captcha-image {
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}

.profil-captcha-image span {
    display: block;
}

.profil-captcha-reload {
    width: 45px;
    height: 45px;
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profil-captcha-reload:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
}

.profil-captcha-reload i {
    transition: transform 0.3s;
}

.profil-captcha-reload:hover i {
    transform: rotate(180deg);
}

.profil-btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 25px;
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s;
}

.profil-btn-submit:hover {
    background: linear-gradient(to bottom, #1F1B6A 0%, #6D76B8 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* =========== Responsive Design =========== */
@media (max-width: 1199px) {
    .profil-detail-grid {
        grid-template-columns: 1fr 350px;
        gap: 25px;
    }

    .profil-program-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .profil-detail-grid {
        grid-template-columns: 1fr;
    }

    .profil-program-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .direktori-detail-hero-banner {
        min-height: 280px;
    }

    .direktori-detail-hero-title {
        font-size: 1.8rem;
    }

    .direktori-detail-content-section {
        padding: 30px 0 60px;
    }

    .profil-section-card,
    .profil-contact-card,
    .profil-contact-form-card {
        padding: 20px;
    }

    .profil-section-header h2 {
        font-size: 1.3rem;
    }

    .profil-program-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .profil-program-image {
        height: 180px;
    }

    .profil-contact-logo img {
        height: 200px;
    }
}

@media (max-width: 575px) {
    .direktori-detail-content-section {
        padding: 30px 35px 60px;
    }

    .profil-section-card,
    .profil-contact-card,
    .profil-contact-form-card {
        padding: 18px;
    }

    .profil-section-header,
    .profil-contact-header,
    .profil-form-header {
        flex-direction: column;
        text-align: center;
    }

    .profil-section-icon,
    .profil-contact-icon,
    .profil-form-icon {
        margin: 0 auto;
    }

    .profil-contact-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .profil-social-links {
        justify-content: center;
    }
}

@media (max-width: 355px) {
    .direktori-detail-hero-banner {
        min-height: 240px;
        padding: 50px 0 60px 0;
    }

    .direktori-detail-hero-title {
        font-size: 1.5rem;
        letter-spacing: 1px;
    }

    .direktori-detail-content-section {
        padding: 20px 15px 40px;
    }

    .profil-section-card,
    .profil-contact-card,
    .profil-contact-form-card {
        padding: 15px;
        margin: 0 -5px;
    }

    .profil-section-header h2,
    .profil-contact-header h3,
    .profil-form-header h3 {
        font-size: 1.1rem;
    }

    .profil-section-icon,
    .profil-contact-icon,
    .profil-form-icon {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .profil-program-grid {
        gap: 15px;
    }

    .profil-program-image {
        height: 160px;
    }

    .profil-program-content {
        padding: 15px;
    }

    .profil-program-content h3 {
        font-size: 1rem;
    }

    .profil-program-desc {
        font-size: 0.85rem;
        height: 64px;
    }

    .profil-btn-detail {
        padding: 8px 16px;
        font-size: 0.8rem;
    }

    .profil-product-item {
        padding: 12px;
    }

    .profil-product-icon {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }

    .profil-product-content h4 {
        font-size: 0.9rem;
    }

    .profil-contact-logo img {
        height: 180px;
    }

    .profil-contact-item {
        padding: 12px;
    }

    .profil-contact-item-icon {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }

    .profil-social-btn {
        width: 36px;
        height: 36px;
    }

    .profil-form-group input,
    .profil-form-group textarea {
        padding: 10px 12px;
        font-size: 0.85rem;
    }

    .profil-captcha-reload {
        width: 40px;
        height: 40px;
    }

    .profil-btn-submit {
        padding: 12px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 285px) {
    .direktori-detail-hero-banner {
        min-height: 200px;
        padding: 40px 0 50px 0;
    }

    .direktori-detail-hero-title {
        font-size: 1.3rem;
        letter-spacing: 0.5px;
    }

    .direktori-detail-content-section {
        padding: 15px 10px 30px;
    }

    .profil-section-card,
    .profil-contact-card,
    .profil-contact-form-card {
        padding: 12px;
        margin: 0 -8px;
        border-radius: 12px;
    }

    .profil-section-header,
    .profil-contact-header,
    .profil-form-header {
        margin-bottom: 15px;
        padding-bottom: 12px;
    }

    .profil-section-header h2,
    .profil-contact-header h3,
    .profil-form-header h3 {
        font-size: 1rem;
    }

    .profil-section-icon,
    .profil-contact-icon,
    .profil-form-icon {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }

    .profil-program-grid {
        gap: 12px;
    }

    .profil-program-image {
        height: 140px;
    }

    .profil-program-content {
        padding: 12px;
    }

    .profil-program-content h3 {
        font-size: 0.9rem;
        margin-bottom: 12px;
    }

    .profil-meta-item {
        font-size: 0.8rem;
    }

    .profil-program-desc {
        font-size: 0.8rem;
        height: 60px;
        margin-bottom: 12px;
    }

    .profil-btn-detail {
        padding: 7px 14px;
        font-size: 0.75rem;
    }

    .profil-product-list {
        gap: 10px;
    }

    .profil-product-item {
        padding: 10px;
        gap: 12px;
    }

    .profil-product-icon {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    .profil-product-content h4 {
        font-size: 0.85rem;
    }

    .profil-no-data {
        padding: 40px 15px;
    }

    .profil-no-data i {
        font-size: 2.5rem;
    }

    .profil-no-data p {
        font-size: 0.85rem;
    }

    .profil-contact-logo {
        margin-bottom: 15px;
    }

    .profil-contact-logo img {
        height: 150px;
    }

    .profil-contact-list {
        gap: 15px;
    }

    .profil-contact-item {
        padding: 10px;
        gap: 12px;
    }

    .profil-contact-item-icon {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    .profil-contact-item-content label {
        font-size: 0.8rem;
    }

    .profil-contact-item-content span {
        font-size: 0.85rem;
    }

    .profil-maps-link,
    .profil-whatsapp-btn {
        padding: 5px 10px;
        font-size: 0.75rem;
    }

    .profil-social-media {
        margin-top: 15px;
        padding-top: 15px;
    }

    .profil-social-btn {
        width: 34px;
        height: 34px;
        font-size: 0.85rem;
    }

    .profil-alert {
        padding: 12px;
        gap: 10px;
    }

    .profil-alert i {
        font-size: 1rem;
    }

    .profil-contact-form {
        gap: 15px;
    }

    .profil-form-group label {
        font-size: 0.85rem;
    }

    .profil-form-group input,
    .profil-form-group textarea {
        padding: 8px 10px;
        font-size: 0.8rem;
    }

    .profil-form-group textarea {
        min-height: 80px;
    }

    .profil-captcha-reload {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .profil-btn-submit {
        padding: 10px 18px;
        font-size: 0.85rem;
        gap: 8px;
    }
}

/* ============= Aktiviti List Page ==============  */
/* Hero Banner */
.aktiviti-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.aktiviti-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/template_portal/images/gallery/slide-3.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.aktiviti-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.aktiviti-hero-banner .container {
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}

.aktiviti-hero-banner .container .aktiviti-hero-content {
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

.aktiviti-hero-content {
    position: relative;
    z-index: 3;
}

.aktiviti-hero-title {
    font-weight: bold;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    white-space: nowrap;
    display: inline-block;
    max-width: 100%;
    width: auto;
    font-size: clamp(1rem, 4.5vw, 3.75rem);
    letter-spacing: clamp(0.1px, 0.15vw, 2px);
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.aktiviti-hero-content p {
    color: var(--white);
    margin: 0 auto;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

/* Content Section */
.aktiviti-content-section {
    padding: 40px 0 80px 0;
    background: var(--theme4);
}

.aktiviti-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 8px;
    position: relative;
    padding-left: 14px;
}

.aktiviti-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            rgba(90, 86, 159, 1) 100%);
}

.aktiviti-section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            rgba(90, 86, 159, 1) 100%);
    display: none;
}

.aktiviti-section-subtitle {
    font-size: 0.95rem;
    color: var(--white);
    margin: 0;
}

.aktiviti-section-subtitle span {
    display: inline-block;
    padding: 3px 13px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(23, 20, 82, 1) 100%);
    border-radius: 50px;
    color: var(--white);
}


/* Search Bar */
.aktiviti-mobile-search {
    display: none;
    background: white;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.aktiviti-mobile-search-form {
    width: 100%;
}

.aktiviti-mobile-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.aktiviti-mobile-search-input {
    width: 100%;
    padding: 14px 50px 14px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: #f9fafb;
    color: var(--text);
}

.aktiviti-mobile-search-input::placeholder {
    color: #9ca3af;
}

.aktiviti-mobile-search-input:focus {
    outline: none;
    border-color: #2E3F6E;
    background: white;
}

.aktiviti-mobile-clear-button {
    position: absolute;
    right: 50px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #6b7280;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.75rem;
    border: none;
}

.aktiviti-mobile-clear-button:hover {
    background: #ef4444;
    color: white;
}

.aktiviti-mobile-search-button {
    position: absolute;
    right: 6px;
    width: 40px;
    height: calc(100% - 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--text);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.aktiviti-mobile-search-button:hover {
    color: var(--theme4);
}

.aktiviti-search-bar {
    background: white;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 40px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.aktiviti-search-form {
    display: flex;
    gap: 15px;
    align-items: center;
}

.aktiviti-search-input-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.aktiviti-search-input-wrapper i {
    position: absolute;
    left: 20px;
    color: #9ca3af;
    font-size: 1rem;
}

.aktiviti-search-input {
    width: 100%;
    padding: 15px 20px 15px 50px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: #f9fafb;
    color: var(--text);
}

.aktiviti-search-input::placeholder {
    color: #9ca3af;
}

.aktiviti-search-input:focus {
    outline: none;
    border-color: #2E3F6E;
    color: var(--text);
}

/* Header Section */
.aktiviti-header-section {
    margin-bottom: 30px;
}


/* Cards Grid */
.aktiviti-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
    grid-auto-rows: 1fr;
}

/* ============= Status Filter Tabs ============= */
.aktiviti-status-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
    padding: 8px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.aktiviti-tab {
    flex: 1;
    padding: 14px 20px;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: #6b7280;
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
}

.aktiviti-tab:hover {
    background: #f3f4f6;
    color: #1f2937;
}

.aktiviti-tab.active {
    background: var(--btn-bg-theme);
    color: white;
    box-shadow: 0 4px 12px rgba(90, 86, 159, 0.25);
    border-radius: 20px;
}

/* ============= Status Badge on Cards ============= */
.aktiviti-status-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.aktiviti-status-badge.status-ongoing {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.aktiviti-status-badge.status-upcoming {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
}

.aktiviti-status-badge.status-ended {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    color: white;
}

.aktiviti-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 100px;
}

.aktiviti-detail-widget {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.aktiviti-detail-widget-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f3f4f6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.aktiviti-detail-widget-title i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: var(--white);
    background: var(--sidebar-widget-gradient);
    font-size: 1rem;
}

.aktiviti-detail-widget-content {
    /* Styling already good from original */
}

/* Search Form */
.aktiviti-detail-search-form {
    width: 100%;
}

.aktiviti-detail-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.aktiviti-detail-search-input {
    width: 100%;
    padding: 14px 90px 14px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
    color: #1f2937;
}

.aktiviti-detail-search-input::placeholder {
    color: #9ca3af;
}

.aktiviti-detail-search-input:focus {
    outline: none;
    border-color: var(--theme2);
    background: var(--white);
    color: var(--black);
}

.aktiviti-detail-clear-button {
    position: absolute;
    right: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #f3f4f6;
    border-radius: 8px;
    color: #6b7280;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

.aktiviti-detail-clear-button:hover {
    background: #ef4444;
    color: white;
}

.aktiviti-detail-search-button {
    position: absolute;
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 8px;
    color: var(--text);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.aktiviti-detail-search-button:hover {
    color: var(--theme4);
}

/* Recent Programs */
.aktiviti-detail-recent-programs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.aktiviti-detail-recent-item {
    display: flex;
    gap: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
}

.aktiviti-detail-recent-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.aktiviti-detail-recent-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.aktiviti-detail-recent-image:hover {
    transform: scale(1.05);
}

.aktiviti-detail-recent-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aktiviti-detail-recent-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.aktiviti-detail-recent-title {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.aktiviti-detail-recent-title a {
    color: #1f2937;
    text-decoration: none;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.aktiviti-detail-recent-title a:hover {
    color: #9810FA;
}

.aktiviti-detail-recent-date {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6b7280;
    font-size: 0.85rem;
    line-height: 16px;
}

.aktiviti-detail-recent-date i {
    color: var(--theme2);
    font-size: 0.8rem;
}

.aktiviti-detail-no-results {
    text-align: center;
    padding: 40px 20px;
    color: #9ca3af;
}


/* Card */
.aktiviti-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.aktiviti-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.aktiviti-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
}

.aktiviti-card-image {
    width: 100%;
    height: 280px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}

.aktiviti-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.aktiviti-card-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    /* min-height: 340px; */
    flex: 1;
}

.aktiviti-category-badge {
    display: inline-block;
    padding: 6px 16px;
    background: #EEF2FF;
    color: #4F46E5;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 15px;
}

.aktiviti-card-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 15px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    word-break: break-word;
}

.aktiviti-card-meta {
    margin-bottom: 20px;
}

.aktiviti-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6b7280;
    font-size: 0.9rem;
    margin-bottom: 8px;
}

.aktiviti-meta-item:last-child {
    margin-bottom: 0;
}

.aktiviti-meta-item i {
    color: var(--theme);
    font-size: 0.95rem;
}

.aktiviti-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    margin-bottom: 20px;
    margin-top: auto;
}

.aktiviti-organizer {
    display: flex;
    align-items: center;
    gap: 10px;
}

.aktiviti-organizer-avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.aktiviti-organizer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aktiviti-organizer-name {
    font-size: 0.85rem;
    color: #6b7280;
    font-weight: 500;
}

.aktiviti-views {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6b7280;
    font-size: 0.85rem;
}

.aktiviti-views i {
    font-size: 0.9rem;
}

.aktiviti-card-button {
    width: 100%;
    padding: 14px 24px;
    background: var(--btn-bg-theme);
    color: white;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: auto;
}

.aktiviti-card-button:hover {
    background: linear-gradient(to bottom, #2A256B 0%, #6E69C3 100%);
    box-shadow: 0 6px 18px rgba(90, 86, 159, 0.35);
}

.aktiviti-card-button i {
    font-size: 0.9rem;
}

/* No Results */
.aktiviti-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 40px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.aktiviti-no-results-icon {
    width: 80px;
    height: 80px;
    background: #f3f4f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.aktiviti-no-results-icon i {
    font-size: 2rem;
    color: #9ca3af;
}

.aktiviti-no-results h3 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 10px;
}

.aktiviti-no-results p {
    color: #6b7280;
    font-size: 0.95rem;
}

/* ============= Clean Pagination Styles ==============  */

/* Main Container */
.aktiviti-pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    padding: 20px 0;
}

.aktiviti-pagination nav {
    width: 100%;
}

/* Pagination List */
.aktiviti-pagination .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.aktiviti-pagination .page-item {
    margin: 0;
}

/* All page links and spans */
.aktiviti-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 15px;
    background: white;
    color: #666;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    line-height: 1;
}

/* Icons spacing */
.aktiviti-pagination .page-link i {
    font-size: 0.85rem;
}

.aktiviti-pagination .page-link .ms-1 {
    margin-left: 6px;
}

.aktiviti-pagination .page-link .me-1 {
    margin-right: 6px;
}

/* Hover effect */
.aktiviti-pagination .page-item:not(.disabled) .page-link:hover {
    background: var(--btn-bg-theme);
    color: white;
    transform: translateY(-2px);
}

/* Active page */
.aktiviti-pagination .page-item.active .page-link {
    background: var(--btn-bg-theme);
    color: white;
}

.aktiviti-pagination .page-item.disabled .page-link {
    background: #f5f5f5;
    color: #ccc;
    border-color: #e5e5e5;
    cursor: not-allowed;
    opacity: 0.6;
}

.aktiviti-pagination .page-item.disabled .page-link:hover {
    transform: none;
    box-shadow: none;
}

.aktiviti-pagination .pagination-info {
    text-align: center;
    margin-top: 15px;
    color: var(--white);
    font-size: 0.9rem;
}

.aktiviti-pagination .pagination-info strong {
    color: var(--white);
    font-weight: 600;
}

.aktiviti-more-programs {
    text-align: center;
}

.aktiviti-more-programs p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--text);
    font-weight: 600;
}

/* Responsive */
@media (max-width: 1400px) {
    .aktiviti-hero-title {
        font-size: clamp(1rem, 4.2vw, 3.5rem);
    }
}

@media (max-width: 1200px) {
    .aktiviti-hero-title {
        font-size: clamp(0.95rem, 4vw, 3rem);
        letter-spacing: clamp(0.1px, 0.12vw, 1.5px);
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content {
        padding: 0 15px;
    }
}

@media (max-width: 991.98px) {
    .aktiviti-section-title {
        padding-bottom: 12px;
    }

    .aktiviti-section-title,
    .aktiviti-section-subtitle {
        text-align: center;
    }

    .aktiviti-section-title::before {
        display: none;
    }

    .aktiviti-section-title::after {
        display: block;
        left: 50%;
        transform: translateX(-50%);
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content {
        padding: 0 15px;
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content .aktiviti-breadcrumbs {
        justify-content: center;
    }

    .aktiviti-hero-title {
        font-size: clamp(0.9rem, 3.8vw, 2.625rem);
        letter-spacing: clamp(0.1px, 0.1vw, 1.2px);
    }

    .aktiviti-content-section {
        padding: 40px 0 60px 0;
    }

    .aktiviti-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }

    .aktiviti-card-image {
        height: 240px;
    }

    .aktiviti-mobile-search {
        display: block;
    }

    .aktiviti-detail-widget.search-bar {
        display: none;
    }

    .aktiviti-detail-sidebar {
        margin-top: 0;
    }

    .aktiviti-detail-search-button {
        background: var(--btn-bg-theme);
        color: white;
    }

    .aktiviti-detail-search-button:hover {
        background: linear-gradient(to bottom, #4A148C, #6A1B9A);
    }

    .aktiviti-detail-clear-button {
        background: #ef4444;
        color: white;
    }

    .aktiviti-detail-clear-button:hover {
        background: #dc2626;
    }
}

@media (max-width: 767px) {
    .aktiviti-hero-title {
        font-size: clamp(0.85rem, 4vw, 2.25rem);
        letter-spacing: clamp(0.08px, 0.08vw, 1px);
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content {
        padding: 0 10px;
    }

    .aktiviti-hero-content p {
        font-size: clamp(0.8rem, 2.2vw, 1rem);
    }

    .aktiviti-content-section {
        padding: 30px 0 40px 0;
    }

    .aktiviti-search-bar {
        padding: 15px;
        margin-bottom: 30px;
    }

    .aktiviti-search-input {
        padding: 12px 15px 12px 45px;
        font-size: 0.9rem;
    }

    .aktiviti-section-title {
        font-size: 1.1rem;
    }

    .aktiviti-mobile-search {
        padding: 16px;
        margin-bottom: 25px;
    }

    .aktiviti-mobile-search-input {
        padding: 12px 50px 12px 16px;
        font-size: 0.9rem;
    }

    .aktiviti-mobile-clear-button {
        right: 46px;
        width: 28px;
        height: 28px;
        font-size: 0.7rem;
    }

    .aktiviti-mobile-search-button {
        width: 36px;
    }

    .aktiviti-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .aktiviti-card-image {
        height: 200px;
    }

    .aktiviti-card-content {
        padding: 20px;
    }

    .aktiviti-card-title {
        font-size: 1.1rem;
    }

    .aktiviti-card-footer {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .aktiviti-no-results {
        padding: 50px 25px;
    }

    .aktiviti-pagination .pagination {
        gap: 6px;
    }

    .aktiviti-pagination .page-link {
        min-width: 38px;
        height: 38px;
        padding: 0 12px;
        font-size: 0.85rem;
    }

    .aktiviti-pagination .d-none.d-sm-inline-block {
        display: none !important;
    }

    .aktiviti-pagination .page-item.d-none.d-md-block {
        display: none !important;
    }
}

@media (max-width: 576px) {
    .aktiviti-hero-title {
        font-size: clamp(0.8rem, 4.5vw, 1.75rem);
        letter-spacing: clamp(0.05px, 0.06vw, 0.8px);
    }

    .aktiviti-hero-content p {
        font-size: clamp(0.75rem, 2.5vw, 0.95rem);
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content {
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .aktiviti-hero-title {
        font-size: clamp(0.75rem, 5vw, 1.5rem);
        letter-spacing: 0.3px;
    }

    .aktiviti-hero-content p {
        font-size: clamp(0.7rem, 2.8vw, 0.9rem);
    }

    .aktiviti-mobile-search {
        padding: 14px;
        margin-bottom: 20px;
        border-radius: 12px;
    }

    .aktiviti-mobile-search-input {
        padding: 11px 48px 11px 14px;
        font-size: 0.85rem;
        border-radius: 10px;
    }

    .aktiviti-mobile-clear-button {
        right: 44px;
        width: 26px;
        height: 26px;
        font-size: 0.65rem;
    }

    .aktiviti-mobile-search-button {
        width: 34px;
        right: 5px;
    }

    .aktiviti-pagination .page-link {
        min-width: 35px;
        height: 35px;
        padding: 0 10px;
        font-size: 0.8rem;
    }

    .aktiviti-pagination .pagination-info {
        font-size: 0.85rem;
    }
}

@media (max-width: 380px) {
    .aktiviti-hero-title {
        font-size: clamp(0.7rem, 5.5vw, 1.25rem);
        letter-spacing: 0.2px;
    }

    .aktiviti-hero-content p {
        font-size: clamp(0.65rem, 3vw, 0.85rem);
    }
}

@media (max-width: 320px) {
    .aktiviti-hero-title {
        font-size: clamp(0.65rem, 6vw, 1.125rem);
        letter-spacing: 0.1px;
    }

    .aktiviti-hero-content p {
        font-size: clamp(0.6rem, 3.2vw, 0.8rem);
    }

    .aktiviti-hero-banner .container .aktiviti-hero-content {
        padding: 0 5px;
    }
}

/* ============= CloudJoi Page ==============  */
/* Hero Banner */
.cloudjoi-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 400px;
    background-color: #0b0d11;
}

.cloudjoi-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: var(--hero-bg); */
    display: flex;
    align-items: center;
    justify-content: center;
}

.cloudjoi-hero-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: center;
}

.cloudjoi-hero-content {
    position: relative;
    z-index: 3;
}

.cloudjoi-hero-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

/*
.cloudjoi-hero-content {
    position: relative;
    z-index: 3;
    max-width: 60%;
} */

.cloudjoi-hero-title {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.cloudjoi-hero-content p {
    color: var(--white);
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

.cloudjoi-hero-image-wrapper {
    text-align: center;
}

/* Content Section */
.cloudjoi-content-section {
    padding: 50px 0;
    background: var(--theme4);
    /* min-height: 100vh; */
}

.cloudjoi-header-card {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(84, 104, 158, 1) 50%, rgba(52, 61, 146, 1) 100%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 20px 28px;
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    backdrop-filter: blur(20px);
}

.cloudjoi-header-card-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.cloudjoi-header-icon {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cloudjoi-header-icon i {
    font-size: 1.3rem;
    color: #ffffff;
}

.cloudjoi-header-text {
    flex: 1;
}

.cloudjoi-header-title {
    font-size: 1.15rem;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 3px;
    line-height: 1.3;
    letter-spacing: 0.3px;
}

.cloudjoi-header-subtitle {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

.cloudjoi-header-card-right {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.cloudjoi-purchase-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
}

.cloudjoi-purchase-label {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
    white-space: nowrap;
    line-height: 1.2;
}

.cloudjoi-purchase-title {
    font-size: 1.125rem;
    color: #ffffff;
    font-weight: 400;
    white-space: nowrap;
    line-height: 1.2;
}

.cloudjoi-link-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: #ffffff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.cloudjoi-link-icon-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.cloudjoi-link-icon-btn i {
    font-size: 1.1rem;
}

.cloudjoi-search-wrapper {
    margin-bottom: 30px;
    padding: 20px;
    background: var(--theme4);
    border-radius: 24px;
    box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1.5px solid rgba(255, 255, 255, 0.6);
}

.cloudjoi-search-bar {
    position: relative;
    width: 100%;
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.cloudjoi-search-bar i {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 1.1rem;
    z-index: 1;
}

.cloudjoi-search-bar input {
    width: 100%;
    padding: 16px 20px 16px 52px;
    border: none;
    border-radius: 16px;
    font-size: 0.95rem;
    color: #1f2937;
    background: transparent;
    transition: all 0.3s ease;
}

.cloudjoi-search-bar input::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

.cloudjoi-search-bar input:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(74, 91, 181, 0.15);
}

.cloudjoi-search-bar:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.cloudjoi-programs-count {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding: 16px 24px 0 0;
    border-radius: 16px;
    backdrop-filter: blur(10px);
}

.cloudjoi-programs-count-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    flex-shrink: 0;
}

.cloudjoi-programs-count-icon i {
    color: #1a1f4d;
    font-size: 1.3rem;
}

.cloudjoi-programs-count-description {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cloudjoi-programs-label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    font-weight: 400;
    margin: 0;
    line-height: 1.2;
}

.cloudjoi-programs-number {
    color: var(--white);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.2;
}

.cloudjoi-cards-container {
    display: flex;
    justify-content: center;
    width: 100%;
}

.cloudjoi-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1280px;
    width: 100%;
    gap: 22px;
    /* margin-bottom: 130px; */
}

/* Card */
.cloudjoi-card {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.cloudjoi-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.cloudjoi-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.cloudjoi-card-image {
    width: 100%;
    aspect-ratio: 2/3;
    overflow: hidden;
    position: relative;
    background: #f9fafb;
}

.cloudjoi-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}

.cloudjoi-card-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(88, 80, 180, 0.95);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
    z-index: 1;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.cloudjoi-card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #ffffff;
}

.cloudjoi-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}

.cloudjoi-card-title a {
    color: #111827;
    text-decoration: none;
    transition: color 0.3s ease;
}

.cloudjoi-card-title a:hover {
    color: #5850B4;
}

.cloudjoi-card-category {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(139, 92, 246, 0.1);
    color: #7c3aed;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 14px;
    width: fit-content;
}

.cloudjoi-card-category i {
    font-size: 0.7rem;
}

.cloudjoi-card-meta {
    margin-bottom: 25px;
    flex-grow: 1;
}

.cloudjoi-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #6b7280;
    font-size: 0.82rem;
    margin-bottom: 9px;
    line-height: 1.5;
}

.cloudjoi-meta-item:last-child {
    margin-bottom: 0;
}

.cloudjoi-meta-item i {
    color: var(--theme);
    font-size: 0.85rem;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Card Actions */
.cloudjoi-card-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.cloudjoi-btn {
    width: 100%;
    padding: 5px 18px;
    border: none;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    text-align: center;
}

.cloudjoi-btn-info {
    background: transparent;
    color: #5850B4;
    border: 2px solid #5850B4;
}

.cloudjoi-btn-info:hover {
    background: #5850B4;
    color: white;
    box-shadow: 0 4px 12px rgba(88, 80, 180, 0.3);
}

.cloudjoi-btn-ticket {
    background: var(--btn-bg-theme);
    color: white;
    border: none;
}

.cloudjoi-btn-ticket:hover {
    background: linear-gradient(135deg, #3d2d8f 0%, #2d1d6f 100%);
    box-shadow: 0 6px 16px rgba(88, 80, 180, 0.4);
    transform: translateY(-2px);
    color: white;
}

.cloudjoi-btn i {
    font-size: 0.8rem;
}

/* No Results */
.cloudjoi-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 40px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.cloudjoi-no-results-icon {
    width: 80px;
    height: 80px;
    background: rgba(84, 104, 158, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.cloudjoi-no-results-icon i {
    font-size: 2rem;
    color: var(--theme4);
}

.cloudjoi-no-results h3 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 10px;
}

.cloudjoi-no-results p {
    color: #6b7280;
    font-size: 0.95rem;
}

/* ============= CloudJoi Info Section ============== */
.cloudjoi-info-section {
    padding: 80px 0;
    background: var(--theme4-bg-gradient-2);
}

.cloudjoi-info-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.cloudjoi-info-left {
    padding-right: 20px;
}

.cloudjoi-info-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px 20px;
    border-radius: 30px;
    margin-bottom: 24px;
    backdrop-filter: blur(10px);
}

.cloudjoi-info-badge i {
    color: #ffffff;
    font-size: 0.9rem;
}

.cloudjoi-info-badge span {
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 500;
}

.cloudjoi-info-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    line-height: 1.2;
}

.cloudjoi-info-description {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: 32px;
}

.cloudjoi-info-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cloudjoi-info-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    font-size: 1rem;
}

.cloudjoi-info-features li i {
    color: #ffffff;
    padding: 6px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}


.cloudjoi-info-right {
    position: relative;
}

.cloudjoi-info-image {
    position: relative;
    width: 100%;
    height: 500px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.cloudjoi-info-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cloudjoi-info-overlay {
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    z-index: 2;
}

.cloudjoi-partnership-card {
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.11);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    border: 1px solid rgba(255, 255, 255, 0.33);
}

.cloudjoi-partnership-icon {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(0px);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cloudjoi-partnership-icon i {
    color: #ffffff;
    font-size: 1.5rem;
}

.cloudjoi-partnership-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 4px;
}

.cloudjoi-partnership-content p {
    font-size: 0.9rem;
    color: #6b7280;
    margin: 0;
}

/* Responsive */
@media (min-width: 1200px) {
    .cloudjoi-cards-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .cloudjoi-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991.98px) {
    .cloudjoi-hero-banner {
        min-height: auto;
    }

    .cloudjoi-hero-title {
        font-size: 1.8rem;
        margin-bottom: 10px;
    }

    .cloudjoi-hero-bg {
        position: relative;
        width: 100%;
        height: auto;
        padding: 40px 0 60px;
    }

    .cloudjoi-hero-grid {
        grid-template-columns: 1fr;
    }

    .cloudjoi-hero-image-wrapper {
        order: -1;
        margin-top: -50px;
        margin-bottom: 0;
    }

    .cloudjoi-hero-content {
        max-width: 100%;
        text-align: center;
        order: 1;
        margin-top: -50px;
    }

    .cloudjoi-hero-image {
        max-width: 300px;
        margin: 0 auto;
    }

    .cloudjoi-hero-content p {
        font-size: 0.9rem;
        line-height: 1.5;
        margin-bottom: 0;
    }

    .cloudjoi-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .cloudjoi-header-card {
        padding: 20px;
        display: flex;
        justify-content: space-between;
    }

    .cloudjoi-header-card-left {
        width: 48%;
        flex: none;
    }

    .cloudjoi-header-card-right {
        width: 48%;
        justify-content: flex-end;
    }

    .cloudjoi-header-title {
        font-size: 0.95rem;
    }

    .cloudjoi-header-subtitle {
        font-size: 0.75rem;
    }

    .cloudjoi-purchase-label {
        font-size: 0.75rem;
    }

    .cloudjoi-purchase-title {
        font-size: 0.95rem;
    }

    .cloudjoi-info-section {
        padding: 60px 0;
    }

    .cloudjoi-info-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .cloudjoi-info-left {
        padding-right: 0;
        text-align: center;
    }

    .cloudjoi-info-title {
        font-size: 2rem;
    }

    .cloudjoi-info-badge {
        margin-left: auto;
        margin-right: auto;
    }

    .cloudjoi-info-features {
        align-items: center;
    }

    .cloudjoi-info-features li {
        justify-content: center;
    }

    .cloudjoi-info-image {
        height: 400px;
    }
}

@media (max-width: 767.98px) {
    .cloudjoi-hero-title {
        font-size: 1.5rem;
    }

    .cloudjoi-hero-content p {
        font-size: 0.9rem;
    }

    .cloudjoi-header-card {
        padding: 18px 20px;
    }

    .cloudjoi-header-title,
    .cloudjoi-header-subtitle,
    .cloudjoi-purchase-label,
    .cloudjoi-purchase-title {
        font-size: 0.9rem;
    }

    .cloudjoi-search-bar input {
        padding: 16px 20px 16px 50px;
        font-size: 0.9rem;
    }

    .cloudjoi-programs-count {
        font-size: 0.85rem;
    }

    .cloudjoi-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cloudjoi-card-content {
        padding: 18px;
    }

    .cloudjoi-no-results {
        padding: 50px 25px;
    }

    .cloudjoi-info-section {
        padding: 40px 0;
    }

    .cloudjoi-info-title {
        font-size: 1.75rem;
    }

    .cloudjoi-info-description {
        font-size: 1rem;
    }

    .cloudjoi-info-image {
        height: 350px;
    }

    .cloudjoi-info-overlay {
        bottom: 20px;
        left: 20px;
        right: 20px;
    }

    .cloudjoi-partnership-card {
        padding: 20px;
    }

    .cloudjoi-partnership-content h3 {
        font-size: 1.1rem;
    }

    .cloudjoi-partnership-content p {
        font-size: 0.85rem;
    }
}

@media (max-width: 567.98px) {
    .cloudjoi-hero-title {
        font-size: 1.2rem;
    }

    .cloudjoi-hero-content p {
        font-size: 0.6rem;
    }

    .cloudjoi-header-title,
    .cloudjoi-header-subtitle {
        font-size: 0.6rem;
    }

    .cloudjoi-purchase-label,
    .cloudjoi-purchase-title {
        font-size: 0.6rem;
    }

    .cloudjoi-no-results h3 {
        font-size: 1.2rem;
    }

    .cloudjoi-no-results p {
        font-size: 1rem;
    }

    .cloudjoi-info-section {
        padding: 40px 20px;
        font-size: 0.6rem;
    }
}

@media (max-width: 430.98px) {

    .cloudjoi-header-title,
    .cloudjoi-header-subtitle,
    .cloudjoi-purchase-label,
    .cloudjoi-purchase-title {
        font-size: 0.5rem;
    }

    .cloudjoi-partnership-content h3 {
        font-size: 0.9rem;
    }

    .cloudjoi-partnership-content p {
        font-size: 0.7rem;
        line-height: 15px;
    }
}

/* ============= CloudJoi Detail Page ==============  */
/* Hero Banner */
.cloudjoi-detail-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 300px;
    padding: 40px 0;
    background: var(--hero-bg-gradient);
}

.cloudjoi-detail-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.cloudjoi-detail-hero-bg::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(180deg, rgba(11, 13, 17, 0.7) 0%, rgba(11, 13, 17, 0.4) 50%, #0b0d11 100%);
}

.cloudjoi-detail-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
}

.cloudjoi-detail-hero-title {
    font-size: 2.5rem;
    font-weight: bold;
    /* font-family: 'Playfair Display', serif; */
    letter-spacing: 1px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.cloudjoi-detail-hero-button {
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.cloudjoi-detail-back-button-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    color: white;
    text-decoration: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.cloudjoi-detail-back-button-inline:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateX(-5px);
    color: white;
}

.cloudjoi-detail-btn-ticket {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(52, 61, 146, 1) 100%);
    color: var(--white);
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.cloudjoi-detail-btn-ticket:hover {
    background: linear-gradient(to bottom, rgba(20, 20, 20, 1) 0%, rgba(70, 90, 180, 1) 100%);
    color: white;
}

/* Content Section */
.cloudjoi-detail-content-section {
    padding: 40px 0 80px 0;
    background: var(--theme4);
}

/* Main Content */
.cloudjoi-detail-main {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.cloudjoi-detail-image-wrapper {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    cursor: pointer;
    border: 2px solid var(--white);
}

.cloudjoi-detail-main-image {
    max-height: 400px;
    width: auto;
    margin: 0 auto;
    display: block;
    object-fit: contain;
    transition: all 0.3s ease;
}

.cloudjoi-detail-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.cloudjoi-detail-image-wrapper:hover::before {
    opacity: 1;
}

.cloudjoi-image-lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s ease;
}

.cloudjoi-image-lightbox.active {
    display: flex;
}

.cloudjoi-lightbox-content {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    animation: zoomIn 0.3s ease;
}

.cloudjoi-lightbox-controls {
    position: absolute;
    top: 20px;
    right: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 10001;
}

.cloudjoi-lightbox-close {
    position: relative;
    top: 0;
    right: 0;
    font-size: 40px;
    font-weight: bold;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    background: rgba(220, 38, 38, 0.9);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.cloudjoi-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

/* Zoom indicator on hover */
.cloudjoi-detail-image-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 60px;
    height: 60px;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 2;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28px 28px;
}

.cloudjoi-detail-image-wrapper:hover::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.cloudjoi-detail-description-box {
    background: white;
    border-radius: 12px;
    padding: 30px;
}

.cloudjoi-detail-section-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1C3E7A;
    margin-bottom: 30px;
    border-left: none;
    position: relative;
    padding-left: 15px;
}

.cloudjoi-detail-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            rgba(90, 86, 159, 1) 100%);
}

.cloudjoi-detail-description-content {
    color: #374151;
    font-size: 0.95rem;
    line-height: 1.7;
}

.cloudjoi-detail-description-content p {
    margin-bottom: 15px;
}

.cloudjoi-detail-description-content p:last-child {
    margin-bottom: 0;
}

.cloudjoi-detail-description-content p img {
    display: none !important;
}

.cloudjoi-detail-description-content img,
.cloudjoi-detail-description-content figure {
    display: none !important;
}

.cloudjoi-detail-description-section {
    margin-top: 20px;
}

.cloudjoi-detail-description-title {
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 1px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 20px;
}

/* Screenings Section */
.cloudjoi-detail-screenings-section {
    border-radius: 12px;
    padding-bottom: 30px;
}

.cloudjoi-detail-screening-card {
    background: white;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 20px;
    border-left: 5px solid var(--theme2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.cloudjoi-detail-screening-card:last-child {
    margin-bottom: 0;
}

.cloudjoi-detail-screening-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 25px;
    padding-bottom: 0;
    border-bottom: none;
}

.cloudjoi-detail-screening-info {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
}

.cloudjoi-detail-screening-info-top {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
    margin-bottom: 15px;
}

.cloudjoi-detail-screening-info-bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding-top: 25px;
    border-top: 2px solid #f3f4f6;
}

.cloudjoi-detail-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    /* padding-left: 5px; */
}

.cloudjoi-detail-info-item i {
    color: var(--theme2);
    background: #E8EEF7;
    border-radius: 50%;
    font-size: 1rem;
    margin-top: 2px;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cloudjoi-detail-info-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.cloudjoi-detail-info-label {
    font-size: 0.9rem;
    color: #1F2937;
    font-weight: 600;
    line-height: 1.4;
}

.cloudjoi-detail-info-value {
    font-size: 0.9rem;
    color: #1F2937;
    font-weight: 400;
    line-height: 1.5;
}

.cloudjoi-detail-link {
    color: var(--theme2);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 400;
    transition: color 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.cloudjoi-detail-link:hover {
    color: #1D4ED8;
    text-decoration: underline;
}

.cloudjoi-detail-map-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    font-size: 0.9rem;
    color: var(--theme2);
}

.cloudjoi-detail-map-link i {
    font-size: 0.85rem;
    background: none;
    width: auto;
    height: auto;
}

/* Bottom Button */
.cloudjoi-detail-bottom-button {
    text-align: center;
}

.cloudjoi-detail-btn-ticket-large {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 60px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(52, 61, 146, 1) 100%);
    color: var(--white);
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    /* box-shadow: 0 4px 15px rgba(88, 101, 242, 0.4); */
}

.cloudjoi-detail-btn-ticket-large:hover {
    background: linear-gradient(to bottom, rgba(20, 20, 20, 1) 0%, rgba(70, 90, 180, 1) 100%);
    transform: translateY(-2px);
    color: white;
}

/* Sidebar */
.cloudjoi-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.cloudjoi-detail-widget {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.cloudjoi-detail-widget-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f3f4f6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cloudjoi-detail-widget-title i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: var(--white);
    background: var(--sidebar-widget-gradient);
    font-size: 1rem;
}

/* Search Form */
.cloudjoi-detail-search-form {
    width: 100%;
}

.cloudjoi-detail-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.cloudjoi-detail-search-input {
    width: 100%;
    padding: 14px 90px 14px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
    color: #1f2937;
}

.cloudjoi-detail-search-input::placeholder {
    color: #9ca3af;
}

.cloudjoi-detail-search-input:focus {
    outline: none;
    border-color: var(--theme2);
    background: var(--white);
    color: var(--black);
}

.cloudjoi-detail-clear-button {
    position: absolute;
    right: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #f3f4f6;
    border-radius: 8px;
    color: #6b7280;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

.cloudjoi-detail-clear-button:hover {
    background: #ef4444;
    color: white;
}

.cloudjoi-detail-search-button {
    position: absolute;
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 10px;
    color: var(--text);
    cursor: pointer;
    transition: all 0.3s ease;
}

.cloudjoi-detail-search-button:hover {
    color: var(--theme4);
}

/* Recent Programs */
.cloudjoi-detail-recent-programs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cloudjoi-detail-recent-item {
    display: flex;
    gap: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
}

.cloudjoi-detail-recent-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.cloudjoi-detail-recent-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.cloudjoi-detail-recent-image:hover {
    transform: scale(1.05);
}

.cloudjoi-detail-recent-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cloudjoi-detail-recent-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.cloudjoi-detail-recent-title {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.cloudjoi-detail-recent-title a {
    color: #1f2937;
    text-decoration: none;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.cloudjoi-detail-recent-title a:hover {
    color: #9810FA;
}

.cloudjoi-detail-recent-date {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6b7280;
    font-size: 0.85rem;
}

.cloudjoi-detail-recent-date i {
    color: var(--theme2);
    font-size: 0.8rem;
}

.cloudjoi-detail-no-results {
    text-align: center;
    padding: 40px 20px;
    color: #9ca3af;
}

.cloudjoi-detail-view-more {
    margin-top: 15px;
    text-align: center;
}

.cloudjoi-detail-view-more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 24px;
    color: var(--theme4);
    border: 2px solid var(--theme4);
    text-decoration: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.cloudjoi-detail-view-more-button:hover {
    background: var(--theme4);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
    color: white;
}

.cloudjoi-detail-view-more-button i {
    font-size: 0.85rem;
    transition: transform 0.3s ease;
}

.cloudjoi-detail-view-more-button:hover i {
    transform: translateX(4px);
}

/* Responsive */
@media (max-width: 991px) {
    .cloudjoi-detail-hero-title {
        font-size: 2rem;
    }

    .cloudjoi-detail-sidebar {
        margin-top: 30px;
    }

    .cloudjoi-detail-bottom-button {
        text-align: center;
        padding-bottom: 20px;
    }

}

@media (max-width: 767px) {
    .cloudjoi-detail-hero-banner {
        min-height: 250px;
        padding: 30px 0;
    }

    .cloudjoi-detail-hero-title {
        font-size: 1.6rem;
    }

    .cloudjoi-detail-btn-ticket {
        padding: 12px 24px;
        font-size: 0.9rem;
    }

    .cloudjoi-detail-content-section {
        padding: 30px 0 50px 0;
    }

    .cloudjoi-detail-section-title {
        font-size: 1.1rem;
    }

    .cloudjoi-detail-screening-info-bottom {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
        padding-top: 0;
        border-top: none;
    }

    .cloudjoi-detail-btn-ticket-large {
        padding: 14px 40px;
        font-size: 1rem;
    }

    .cloudjoi-detail-widget-content {
        padding: 15px;
    }

    .cloudjoi-detail-sidebar {
        margin-top: 25px;
    }

    .cloudjoi-detail-more-programs p {
        font-size: 0.85rem;
    }

    .cloudjoi-detail-view-more-button {
        padding: 12px 20px;
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {

    .cloudjoi-detail-description-section,
    .cloudjoi-detail-screenings-section,
    .cloudjoi-detail-sidebar {
        padding: 18px;
    }
}

@media (max-width: 480px) {
    .cloudjoi-detail-hero-title {
        font-size: 1.4rem;
    }

    .cloudjoi-detail-btn-ticket-large {
        padding: 12px 30px;
        font-size: 0.95rem;
    }
}

/* ============= Video Promosi Page ==============  */
/* Hero Banner */
.vid-hero-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 400px;
}

.vid-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/template_portal/images/gallery/slide-6.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.vid-hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.vid-hero-banner .container .vid-hero-content {
    text-align: center;
}

.vid-hero-content {
    position: relative;
    z-index: 3;
}

.vid-hero-title {
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow:
        -2px -2px 0 #000,
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

.vid-hero-content p {
    color: var(--white);
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/* Content Section */
.vid-content-section {
    padding: 50px 0 80px 0;
    background-color: var(--theme4);
}

.vid-search-header {
    background: linear-gradient(to bottom, rgba(23, 20, 82, 1) 0%, rgba(84, 104, 158, 1) 64%, rgba(52, 61, 146, 1) 100%);
    border-radius: 16px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--white);
    overflow: hidden;
}

.vid-search-bar {
    position: relative;
    padding: 25px 25px 20px 25px;
}

.vid-search-bar i {
    position: absolute;
    left: 42px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 1.1rem;
}

.vid-search-bar input {
    width: 100%;
    padding: 14px 20px 14px 48px;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    font-size: 1rem;
    color: #374151;
    background: white;
    transition: all 0.3s ease;
}

.vid-search-bar input::placeholder {
    color: #9ca3af;
}

.vid-search-bar input:focus {
    outline: none;
    border-color: var(--theme2);
    background: white;
}

/* View Toggle */
.vid-view-toggle {
    display: flex;
    gap: 8px;
    background: var(--white);
    padding: 6px;
    border-radius: 12px;
    flex-shrink: 0;
    backdrop-filter: blur(10px);
}

.vid-toggle-btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--theme);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1.1rem;
}

.vid-toggle-btn:hover {
    background: white;
    color: var(--theme4);
}

.vid-toggle-btn.active {
    background: var(--theme4);
    color: var(--white);
    box-shadow: 0 2px 4px rgba(152, 16, 250, 0.2);
    border-radius: 12px;
}

.vid-search-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* Video Count Info */
.vid-count-info {
    padding: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.95);
}

.vid-count-info strong {
    font-weight: 600;
}

.vid-section-header {
    position: relative;
    text-align: left;
    margin-bottom: 30px;
    padding-left: 20px;
}

.vid-section-header::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 0%,
            rgba(90, 86, 159, 1) 100%);
}

.vid-section-title {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--white);
    margin-bottom: 6px;
}

.vid-section-subtitle {
    font-size: 0.95rem;
    color: var(--white);
    margin: 0;
}

/* Cards Grid */
.vid-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
}

/* Video Card */
.vid-card {
    background: #E2E7F5;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.vid-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* Video Thumbnail */
.vid-card-thumbnail {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
    background: #000;
    cursor: pointer;
}

.vid-card-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vid-card-thumbnail iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.vid-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.vid-play-overlay i {
    font-size: 1.4rem;
    color: var(--theme4);
    margin-left: 3px;
}

.vid-card-thumbnail:hover .vid-play-overlay {
    transform: translate(-50%, -50%) scale(1.1);
    background: var(--theme);
}

.vid-card-thumbnail:hover .vid-play-overlay i {
    color: white;
}

.vid-duration {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: var(--theme4);
    color: white;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    z-index: 2;
}

.vid-card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.vid-card-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3em;
}

.vid-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.vid-category {
    display: inline-block;
    padding: 4px 12px;
    background: var(--theme4);
    color: var(--white);
    /* border: 1px solid var(--theme); */
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
}

.vid-card-views {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6b7280;
    font-size: 0.85rem;
}

.vid-card-views i {
    color: #9ca3af;
    font-size: 0.9rem;
}

/* List View */
.vid-cards-grid.vid-list-view {
    grid-template-columns: 1fr;
}

.vid-cards-grid.vid-list-view .vid-card.playing {
    grid-column: 1 / -1;
}

.vid-cards-grid.vid-list-view .vid-card.playing .vid-card-thumbnail {
    width: 100%;
    min-width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
}

.vid-cards-grid.vid-list-view .vid-card.playing .vid-card-thumbnail iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.vid-cards-grid.vid-list-view .vid-card {
    flex-direction: row;
    align-items: stretch;
    transition: all 0.3s ease;
}

.vid-cards-grid.vid-list-view .vid-card.playing {
    background: #000;
}

.vid-cards-grid.vid-list-view .vid-card.playing .vid-card-content {
    background: #fff;
    border-radius: 0 0 16px 16px;
}

.vid-cards-grid.vid-list-view .vid-card.playing {
    flex-direction: column;
}

.vid-cards-grid.vid-list-view .vid-card-thumbnail {
    width: 320px;
    min-width: 320px;
    flex-shrink: 0;
    padding-bottom: 0;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.vid-cards-grid.vid-list-view .vid-card-thumbnail img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.vid-cards-grid.vid-list-view .vid-card-content {
    padding: 20px 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vid-cards-grid.vid-list-view .vid-card-title {
    -webkit-line-clamp: 2;
    min-height: auto;
    margin-bottom: 15px;
}

.vid-cards-grid.vid-list-view .vid-card-meta {
    margin-top: 0;
}

/* Responsive */
@media (max-width: 576px) {
    .vid-hero-title {
        font-size: 35px;
    }

    .vid-hero-subtitle {
        font-size: 0.9rem;
    }

    .vid-content-section {
        padding: 30px 20px 80px;
    }
}

@media (max-width: 767.98px) {
    .vid-hero-banner .container .vid-hero-content {
        text-align: center;
    }

    .vid-hero-banner .container .vid-hero-content .vid-breadcrumbs {
        justify-content: center;
    }

    .vid-content-section {
        padding: 30px 0 80px 0;
    }

    .vid-search-header {
        padding: 0;
    }

    .vid-search-bar {
        padding: 20px 20px 15px 20px;
    }

    .vid-search-bar i {
        left: 37px;
        font-size: 0.95rem;
    }

    .vid-search-bar input {
        padding: 12px 16px 12px 42px;
        font-size: 0.9rem;
        border-radius: 10px;
    }

    .vid-search-footer {
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0;
    }

    .vid-count-info {
        padding: 15px 20px;
        font-size: 0.85rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .vid-view-toggle {
        display: none;
    }

    .vid-section-header {
        margin-bottom: 20px;
        padding-left: 12px;
    }

    .vid-section-header::before {
        width: 3px;
    }

    .vid-section-title {
        font-size: 1.1rem;
    }

    .vid-section-subtitle {
        font-size: 0.85rem;
    }

    .vid-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vid-card-content {
        padding: 18px;
    }

    .vid-card-title {
        font-size: 0.95rem;
        min-height: 2.85em;
    }

    .vid-cards-grid.vid-list-view .vid-card {
        flex-direction: column;
    }

    .vid-cards-grid.vid-list-view .vid-card-thumbnail {
        width: 100%;
        min-width: 100%;
        padding-bottom: 56.25%;
        height: 0;
    }

    .vid-cards-grid.vid-list-view .vid-card.playing .vid-card-thumbnail {
        padding-bottom: 56.25%;
    }

    .vid-cards-grid.vid-list-view .vid-card-content {
        padding: 18px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .vid-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vid-cards-grid.vid-list-view {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .vid-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1200px) {
    .vid-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============= Back to Top Button ============= */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--white);
    border: none;
    border-radius: 50%;
    color: var(--black);
    font-size: 1.2rem;
    cursor: pointer;
    z-index: 9999;
    box-shadow: 0 4px 15px rgba(90, 86, 159, 0.4);
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background: var(--black);
    color: var(--white);
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(90, 86, 159, 0.6);
}

.back-to-top:active {
    transform: translateY(-2px);
}

.back-to-top i {
    transition: transform 0.3s ease;
}

.back-to-top:hover i {
    transform: translateY(-3px);
}

/* Responsive */
@media (max-width: 991px) {
    .back-to-top {
        width: 45px;
        height: 45px;
        bottom: 25px;
        right: 25px;
        font-size: 1.1rem;
    }
}

@media (max-width: 575px) {
    .back-to-top {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 20px;
        font-size: 1rem;
    }
}