/* style.css */
html {
    font-family: 'Montserrat', sans-serif;
    /* Using 'Montserrat' as imported from Google Fonts */
}

html[dir="rtl"] {
    font-family: 'Almarai', sans-serif !important;
    /* Adding a generic fallback is always a good idea */
}

body {
    font-size: 14px;

}

p {
    text-align: center;
}

@media (min-width: 768px) {
    p {
        font-size: 16px;
        line-height: 1.5;
    }

    .hero p {
        max-width: 523px;
    }
}

h1 {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
}

.hero em {
    font-weight: 100;
}

@media (min-width: 768px) {
    h1 {
        font-size: 48px;
    }
}

h2 {
    font-size: 28px;
}

h2 em {
    font-weight: 400;
}


@media (min-width: 768px) {
    h2 {
        font-size: 48px;
    }
}

em, i {
    font-style: italic;
    /* This will automatically select the italic variable font if available */
}

/* You can also use specific weights like this */
.my-light-text {
    font-weight: 300;
}

.my-extra-bold-text {
    font-weight: 800;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

/* header */
header {
    z-index: 900;
}

.headerCont {
    padding: 0 5%;
    min-height: 100px;
    /* background-color: #A1A79F0A; */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin-bottom: -100px;
    display: flex;
    align-items: center;
    transition: 0.5s ease;
    border-bottom: 2px solid #FFFFFF66;
    justify-content: space-between;
    text-align: center;
}

.pcNav {
    display: none;
}

.logo {
    display: flex;
    flex-grow: 0;
    justify-content: center;
    align-items: center;
}

.headerCont .pcNav a {
    color: #FBFDFA;
    text-decoration: none;
    padding: 82px 60px 30px 60px;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: #FFFFFF66;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.5s ease-out;
}

html[dir="rtl"] .headerCont .pcNav a {
    padding: 82px 50px 30px 50px;
}

.headerCont .pcNav a:hover {
    font-weight: 500;
    background-color: #F8FCF7;
    color: #161616;
    /* transform: translateY(-5px); */
    padding-top: 70px;
}

.headerCont .pcNav a.active-link {
    font-weight: 500;
    background-color: #F8FCF7;
    color: #161616;
    /* transform: translateY(-5px); */
    padding-top: 70px;
}

.headerCont .pcNav a:nth-child(1) {
    border-width: 0 1px;
    border-style: solid;
    border-color: #FFFFFF66;
}

@media (min-width: 768px) {
    .logo {
        flex-grow: 1;
    }

    .headerCont {
        padding: 0;
    }
}

/* mobile Burger */

/* Mobile Menu Toggle (Burger Button) */
.mobile-menu-toggle {
    display: flex;
    /* Show by default on mobile */
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    /* Ensure it's above the overlay */
}

.mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FBFDFA;
    /* White lines for burger */
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
    transform-origin: center;
}

.mobile-menu-toggle span:nth-child(2) {
    width: 80%;
    /* Shorter middle line */
    align-self: flex-end;
}

/* Burger to X animation */
body.menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

body.menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
    /* Hide middle line */
    transform: translateX(-100%);
}

body.menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* Mobile Navigation (off-canvas menu) */
.mobile-nav {
    position: fixed;
    border-radius: 0 0 20px 20px;
    top: 0;
    /* Start from the top */
    left: 0;
    /* Span full width */
    width: 100vw;
    /* Full viewport width */
    align-items: center;
    background-color: #A1A79F0A;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: #A1A79F0A;
    /* Dark background for mobile menu */
    transform: translateY(-100%);
    /* Start off-screen above */
    transition: transform 0.4s ease-in-out;
    z-index: 999;
    display: flex;
    flex-direction: column;
    padding: 28px 0 44px 0;
    /* Space for header above */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    /* Adjusted shadow for top-down */
    overflow-y: auto;
    /* Enable scrolling if content overflows */
}

body.menu-open .mobile-nav {
    transform: translateY(0);
    /* Slide into view from top */
    top: 100px;
}

.mobile-nav a {
    color: #FBFDFA;
    font-size: 18px;
    font-weight: 800;
    color: #161616;
    text-decoration: none;
    padding: 15px 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    /* Separator for links */
    transition: background-color 0.2s ease;
    width: calc(100% - 40px);
    text-align: center;
    border-radius: 12px;
}

.mobile-nav a:hover {
    background-color: #F8FCF7
}

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

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #A1A79F0A;
    /* Semi-transparent black overlay */
    opacity: 0;
    visibility: hidden;
    /* Hide by default */
    transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
    z-index: 50;
    /* Below mobile menu, above main content */
}

body.menu-open .mobile-menu-overlay {
    opacity: 1;
    visibility: visible;
}


@media (min-width: 768px) {
    .headerCont {
        min-height: 133px;
        margin-bottom: -133px;
    }

    .pcNav {
        position: relative;
        min-height: 133px;
        display: flex;
    }

    .burger, .mobile-nav-menu, .mobile-menu-toggle {
        display: none;
    }
}

/* end of mobile Burger */


/* end of header */
section {
    overflow: hidden;
}

section:first-of-type {
    padding: 0 0 36px 0;
}

section:not(:first-of-type) {
    padding: 36px 0;
}

section:has(.hero) {
    background-image: url(../images/bandora-mobile-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
}


.hero {
    padding: 0 20px;
    height: 100vh;
    max-width: min(1400px, 90vw);
    margin: auto;
    display: flex;
    gap: 16px;
    flex-direction: column;
    justify-content: center;
    z-index: 10;
}

.hero .cont {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 -20px;
}

.hero .cont:nth-child(3) {
    margin: 0 0 -150px 0;
}

@media (min-width:768px) {
    .hero .cont:nth-child(3) {
        margin-bottom: -217px;
    }

    .hero .cont {
        margin: 0;
    }
}

.hero .mainCont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.hero h1 {
    z-index: 3;
}

@media (min-width: 768px) {
    section:has(.hero) {
        background-image: url(../images/Bandora\ BG.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }

    .hero {
        padding: 0;
        font-size: 48px;
        background-size: cover;
        background-repeat: no-repeat;
    }

    section:first-of-type {
        padding: 0 0 122px 0;
    }

    section:not(:first-of-type) {
        padding: 122px 0;
    }
}

.doubleBtns {
    display: flex;
    gap: 16px;
    padding-top: 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.doubleBtns button {
    background-color: #212121;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 700;
    color: #FBFDFA;
    border-radius: 10px;
    display: flex;
    min-width: 344px;
    transition: all 0.5s;
    letter-spacing: 0;
}

.doubleBtns button .cta {
    padding: 8px 20px;
    border-radius: 6px;
    margin: 4px;
    flex-grow: 1;
}

.doubleBtns .red .cta {
    background-color: #E63746;
}

.doubleBtns .dark .cta {
    background-color: #464646;
}

.button-hover .btnIcon {
    padding: 12px 12px;
    margin: 4px 4px 4px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    flex-shrink: 4;
    transition: 0.5s ease-in-out;
}

.doubleBtns .button-hover img {
    width: 14px;
    height: 14px;
    border-radius: 0px;
}

.button-hover:hover .btnIcon {
    border-radius: 6px;
    background-color: #E63746;
}

/* second section */

.whiteCont {
    box-shadow: 0px 0px 50px 0px #0000001A;
    background-color: #FAFAFA;
    border-radius: 32px;
    padding: 40px 16px 104px 16px;
    max-width: min(90%, 1400px);
    margin: auto;
    display: flex;
    flex-direction: column-reverse;
    gap: 28px;
}

.whiteCont .cont:nth-child(1) {
    max-width: 100%;
    flex-shrink: 0;
}

.whiteCont .cont {
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
}

.whiteCont .cont p {
    font-size: 16px;
    text-align: start;
    max-width: 640px;
}

.whiteCont h2 span {
    color: #FFFFFF00;
    position: relative;
    padding-right: 16px;
}

.whiteCont h2 span::before {
    content: "";
    width: 35px;
    height: 38px;
    background-image: url(../images/bandora-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    inset: 0;
    z-index: 3;
}

@media (min-width: 768px) {
    .whiteCont {
        gap: 52px;
        flex-direction: row;
        padding: 80px 36px;
    }

    .whiteCont .cont {
        gap: 24px;
    }

    .whiteCont .cont:nth-child(1) {
        max-width: 50%;
        flex-shrink: 0;
    }

    .whiteCont .cont p {
        font-size: 20x;
    }

    .whiteCont h2 span {
        padding-right: 25px;
    }

    .whiteCont h2 span::before {
        width: 54px;
        height: 58px;
    }
}

.BG .bold {
    padding-bottom: 8px;
}

/* carousel section */
.bold em {
    font-weight: 700;
}

.bold {
    text-align: center;
    padding-bottom: 24px;
    max-width: 800px;
    margin: auto;
}

@media (min-width: 768px) {
    .bold {
        padding-bottom: 32px;
    }

    .pb-8 {
        padding-bottom: 8px !important;
    }
}

.carousel-container {
    background-color: #FAFAFA;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
    /* Rounded corners for the main container */
    overflow: hidden;
    max-width: min(90%, 1400px);
    margin: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* Default to column on small screens */
}

.carousel-content {
    display: flex;
    flex-direction: column;
    /* Default to column on small screens */
    width: 100%;
}

.image-container {
    flex: 1;
    min-width: 0;
    /* Allows shrinking in flex container */
    border-radius: 20px;
    /* Apply border-radius directly to image container */
    overflow: hidden;
    /* Ensure image respects border-radius */
    box-shadow: 0px 4px 50px 0px #0000001A;
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* Ensures image covers the area without distortion */
    border-radius: 20px;
    /* Rounded corners for the image itself */
    /* Add transition for animation */
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.text-content {
    /* max-width: min(100%, 400px); */
    flex: 1;
    padding: 42px 30px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    min-height: 526px;
}

.text-content h3,
.text-content p {
    /* Add transition for animation to both h2 and p */
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.text-content h3 {
    /* font-size: 2.25rem; Equivalent to text-4xl */
    /* font-weight: 700; Equivalent to font-bold */
    /* color: #333;
        margin-bottom: 1rem; */
    color: #6B6B6B;
    font-weight: 700;
    /* width:215px; */
    font-size: 18px;
    padding-bottom: 28px;
}

@media (min-width: 768px) {
    .text-content h3 {
        font-size: 20px;
    }

    .text-content p {
        font-size: 16px;
    }
}

.text-content li {
    /* font-size: 1.125rem; Equivalent to text-lg
        color: #555;
        line-height: 1.6;
        margin-bottom: 2rem; */
    color: #6B6B6B;
    font-weight: 500;
    font-size: 14px;
    text-align: start;
}

.carousel-footer {
    flex-grow: 2;
    display: flex;
    justify-content: space-between;
    align-items: end;
    /* background-color: #f7f7f7; */
    border-bottom-left-radius: 20px;
    /* Match main container radius */
    border-bottom-right-radius: 20px;
    /* Match main container radius */
}

.slide-indicator {
    font-size: 32px;
    font-weight: 600;
    color: #6B6B6B;
}

.nav-buttons {
    background-color: #212121;
    border-radius: 14px;
    padding: 4px;
}

@media (max-width:768px) {
    .carousel-footer {
        padding-top: 64px;
    }

    .text-content li {
        font-size: 16px;
    }
}

.nav-buttons button {
    color: white;
    padding: 13px 11px;
    border-radius: 10px;
    /* Rounded buttons */
    /* font-size: 1.1rem; */
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    /* Remove default button border */
}

.nav-buttons button:hover {
    background-color: #2563eb;
    /* Darker blue on hover */
    transform: translateY(-2px);
    /* Slight lift on hover */
}

.nav-buttons button:active {
    transform: translateY(0);
    /* Press effect */
}

.nav-buttons button:first-child {
    margin-right: 12px;
    /* Space between buttons */
    background-color: #464646;
}

.nav-buttons button:nth-child(2) {
    background-color: #E63746;
}

.nav-buttons img {
    width: 17px;
}

img.left {
    transform: rotate(180deg);
}

html[dir="rtl"] img.left {
    transform: rotate(0);
}

html[dir="rtl"] #next-btn {
    transform: rotate(180deg);
}

html[dir="rtl"] .nav-buttons button:first-child {
    margin-right: 0px;
    margin-left: 12px;
}

/* Animation Classes */
.fade-out {
    opacity: 0;
    transform: translateY(-10px);
}

.fade-in {
    opacity: 1;
    transform: translateY(0);
}

.text-content ul li {
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 500;
    color: #6b6b6b;
}

/* Responsive adjustments for larger screens */
@media (min-width: 768px) {
    .carousel-content {
        flex-direction: row;
        /* Row layout on larger screens */
    }

    .text-content ul li {
        margin-bottom: 20px;
        font-size: 16px;

    }

    .image-container {
        min-width: 65%;
        /* Image takes half width */
        max-width: 70%;
        /* Image takes half width */
    }

    .text-content {
        padding: 40px;
    }

    .carousel-footer {
        border-top-left-radius: 0;
        /* Remove top-left radius for footer on desktop */
        border-top-right-radius: 0;
        /* Remove top-right radius for footer on desktop */
    }
}




/* Counter Section */




.stats-section-wrapper {
    /* This div is just to push the stats section down for demonstration,
            so you can scroll to it and see the animation. Remove or adjust
            in your actual site layout. */
    display: flex;
    align-items: flex-end;
    /* Push content to bottom for demo scroll */
    justify-content: center;
    max-width: min(1400px, 90%);
    /* Max width for the container */
    margin: auto;
}

.stats-container {
    background: radial-gradient(108.59% 172.09% at 50% -5.95%, #212121 0%, #C02E3A 59.45%, #212121 88.14%);
    background-size: 200% 200%;
    /* Make the gradient larger than the container */
    animation: gradient-shift 4s ease infinite alternate;
    /* Apply the animation */
    color: white;
    padding: 24px 56px;
    /* Adjust padding for overall section */
    border-radius: 30px;
    /* Rounded corners */
    box-shadow: 0px 0px 50px 0px #0000001A;
    width: 100%;
    margin: 0 auto;
    /* Center the container */
    display: flex;
    flex-direction: column;
    /* Default to column on mobile */
    justify-content: space-between;
    align-items: center;
    gap: 42px;
    /* Space between stat items */
    text-align: center;
    opacity: 0;
    /* Hidden by default for animation */
    transform: translateY(20px);
    /* Start slightly below */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    /* Smooth entrance */
}

@keyframes gradient-shift {
    0% {
        background-position: 0% 0%;
        /* Start position of the background */
    }

    100% {
        background-position: 100% 100%;
        /* End position of the background */
    }
}

.stats-container:after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/noisy-texture.png);
    opacity: 0.5;
    position: absolute;
    inset: 0;
    border-radius: 30px;
    z-index: 2;
}

.stats-container.animate-in {
    opacity: 1;
    transform: translateY(0);
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    flex: 1;
    /* Allows items to grow/shrink in flex container */
}

/* .stat-item:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        padding-bottom: 20px;
    } */

.line {
    min-height: 1px;
    width: 114px;
    background-color: #FCFEFC;
}

.stat-number {
    font-size: 40px;
    /* Large font size for numbers */
    font-weight: 700;
    /* Extra bold */
    margin-bottom: 8px;
    /* letter-spacing: -0.05em; */
    /* Tighten letter spacing */
    color: #FBFDFA;
    z-index: 3;
    /* filter: drop-shadow(0 4px 4px 0 #00000025); */
    text-shadow: 0 4px 4px #00000025;
}

.stat-description {
    color: #FBFDFA;
    font-size: 18px;
    /* Smaller font for description */
    font-weight: 700;
    opacity: 0.8;
    text-transform: uppercase;
    /* Uppercase text */
    text-shadow: 0 4px 4px #00000025;
}

/* Responsive adjustments for larger screens */
@media (min-width: 768px) {
    .stats-container {
        border-radius: 20px;
        flex-direction: row;
        /* Row layout on larger screens */
        padding: 24px 75px;
        gap: 0;
        /* Remove gap when using borders for separation */
        justify-content: space-between;
        align-items: center;
    }

    .stat-item {
        padding: 0 30px;
        /* Padding for horizontal spacing */
    }

    /* .stat-item:not(:last-child) {
            border-bottom: none;
            border-right: 1px solid rgba(255, 255, 255, 0.3); /
        } */

    .line {
        width: 1px;
        height: 114px;
    }

    .stat-number {
        font-size: 60px;
        /* Even larger on desktop */
    }

    .stat-description {
        font-size: 20px;
    }
}

/* hexagon sections */

.container {
    max-width: min(1200px, 90%);
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.container .hex-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
    gap: 16px;
}

.container .hex-container:first-child {
    justify-content: end;
}

.container .hex-container:nth-child(2) {
    justify-content: center;
}

.container .hex-container:nth-child(3) {
    justify-content: space-between;
}

.container .hex-container:nth-child(4) {
    justify-content: right;
    margin-bottom: 0;
}

.hex-container .hex-wrapper:nth-child(2) {
    margin: 0 auto;
}

.hex-wrapper {
    background-image: url(../images/Polygon.png);
    background-size: 100%;
}

.hex-container:not(:first-child) .hex-wrapper {
    filter: drop-shadow(0px 0px 50px #0000001a);
}

.hex-container:first-child .hex-wrapper {
    filter: drop-shadow(0px 0px 50px #FF000033);
}

.hex-container .hex {
    width: 278px;
    height: 252px;
    mask-image: url(../images/Polygon.png);
    -webkit-mask-image: url(../images/Polygon.png);
    mask-position: center;
    mask-size: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    align-items: center;
    padding: 0 35px;
}

.hex .hex-logo {
    width: 72px;
    height: auto;
}

.hex .hex-icon {
    width: 36px;
}

.hex span {
    font-weight: 700;
}

@media (min-width:768px) {
    .hex-container .hex {
        width: 450px;
        height: 407px;
        padding: 0 61px;
    }

    .hex-container .hex-wrapper:nth-child(2) {
        margin: 0;
    }

    .hex .hex-icon {
        width: 46px;
    }

    .container .hex-container {
        display: flex;
        margin-bottom: -210px;
    }

    .container {
        gap: 20px;
    }



    .container .hex-container:nth-child(4) {
        justify-content: center;
        margin-bottom: 0;
    }

    .hex h3 {
        font-size: 48px;
    }

    .hex h3 {
        font-size: 28px;
        font-weight: 700;
        text-align: center;
    }

    .hex em {
        font-weight: 400;
    }


    .hex p {
        font-size: 20;
        font-weight: 500;
        color: #161616;
        max-width: 280px;
    }
}

/* new section */

.whiteCont.spread {
    justify-content: space-between;
}

.spread p {
    max-width: 640px;
}

.spread span {
    font-weight: 700;
}

.spread .cont {
    gap: 8px;
}

.whiteCont.spread {
    padding: 23px 20px;
    align-items: center;
}

.spread .cont img {
    width: 206px;
    height: auto;
}

.whiteCont.spread span {
    display: inline-block;
    margin-top: 12px;
}

@media (min-width :768px) {
    .whiteCont.spread {
        padding: 28px 48px 28px 96px;
    }

    .whiteCont p {
        width: 530px;
    }

    .whiteCont.spread p {
        font-size: 20px;
        width: 640px;
    }

    .spread .cont img {
        width: 408px;
        height: auto;
    }
}

/* use cases */
.cardsCont {
    display: flex;
    justify-content: center;
    gap: 16px;
    max-width: min(1000px, 90%);
    margin: auto;
    flex-wrap: wrap;
}

.card {
    width: 335px;
    max-width: 450px;
    display: flex;
    flex-direction: column;
    gap: 8;
    box-shadow: 0px 0px 50px 0px #0000001A;
    padding: 24px 16px;
    border-radius: 15px;
}

.card img {
    width: 80px;
    padding-bottom: 8px;
}

.card p {
    text-align: start;
}

@media(min-width:768px) {
    .card {
        width: 450px;
    }
}

/* monthly plans */
.BG {
    background-image: url(../images/bandora-bg-2.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.BG h3 {
    font-size: 14px;
    font-weight: 500;
    color: #FBFDFA;
    padding: 8px 20px;
    border: 1px solid #E2F3F3;
    border-radius: 100px;
    background-color: #8BB6B7;
}

.plans-container {
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: min(950px, 90%);
    padding-top: 60px;
}

.plan-holder {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: end;

}

.plan-bg {
    min-height: 540px;
    width: 100%;
    background: radial-gradient(60.01% 95.08% at 50.11% 4.92%, #D3EDEE 0%, #B6E0E2 54.4%, #EDF8F8 100%);
    border-radius: 20px;
    display: flex;
    justify-self: center;
    padding: 16px 0 0 0;
    position: absolute;
    z-index: 0;
    transform: scale(0);
    transform-origin: bottom;
    transition: 0.4s cubic-bezier(0.7, 0, 0.7, 1);
}

.plan-holder:hover .plan-bg {
    transform: scale(1);
}

.plan-bg h5 {
    font-size: 14px;
    color: #212C2C;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 auto;
}

.plan-container {
    background-color: #FAFAFA;
    padding: 24px 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 430px;
    z-index: 1;
}

.plan-container h4 {
    font-size: 24px;
    color: #161616;
    font-weight: 700;
}

.plan-container p {
    font-size: 14px;
    color: #161616;
    font-weight: 500;
    text-align: start;
}

.plan-container .pricing {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 8px;
    padding-top: 8px;
}

.plan-container .price {
    font-weight: 700;
    font-size: 14px;
}

.plan-container button {
    background-color: #212121;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 700;
    color: #FBFDFA;
    border-radius: 10px;
    display: flex;
}

.plan-container button .cta {
    padding: 8px 20px;
    border-radius: 6px;
    margin: 4px;
}

.plan-container .red .cta {
    background-color: #E63746;
}

.plan-container .dark .cta {
    background-color: #464646;
}

.plan-container button .btnIcon {
    padding: 0 16px;
    margin: 4px 0;
    display: flex;
    justify-content: center;
    border-radius: 10px;
}

.plan-container button img {
    width: 14px;
}

.plan-container h4 {
    font-size: 18px;
}

.plan-container .separator {
    background-color: #D3D3D3;
    height: 1px;
    width: 100%;
    margin: 8px 0;
}

.features-list {
    display: flex;
    justify-content: start;
    gap: 4px;
}

.features-list h5 {
    font-size: 14px;
    color: #6B6B6B;
    font-weight: 500;
}

@media (min-width: 320px) and (max-width:425px) {
    .plan-bg {
        min-height: 500px;
    }
}

@media (min-width: 426px) and (max-width:767px) {
    .plan-bg {
        min-height: 480px;
    }
}

@media (min-width: 768px) and (max-width:1024px) {
    .plan-bg {
        min-height: 470px;
    }
}

@media (min-width :1025px) {
    .plan-bg {
        min-height: 520px;
        width: 460px;
        padding: 10px;
    }

    .plans-container {
        flex-direction: row;
    }

    .plan-container {
        background-color: #fafafa;
        padding: 24px 32px;
        border-radius: 20px;
        display: flex;
        flex-direction: column;
        gap: 16px;
        max-width: 450px;
    }

    .plan-container h4 {
        font-size: 24px;
    }

    .plan-container .pricing {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 8px;
        gap: 4px;
    }

    .plan-container .price {
        max-width: 150px;
    }

    .plan-holder:first-child .plan-container .price {
        width: 100px;
    }

    .plan-container .price {
        font-size: 16px;
    }
}

/* FAQ */
.faq-container em {
    font-weight: 700;
}

.faq-container {
    box-shadow: 0px 0px 50px 0px #0000001A;
    padding: 32px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: min(1400px, 90%);
    margin: auto;
    border-radius: 30px;
    gap: 32px;
}

.faq-container h2 {
    text-align: center;
}

.questions-container {
    width: min(640px, 90%);
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.question-cont {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.question {
    padding: 12px 20px;
    line-height: 1.5;
    font-weight: 500;
    color: #161616;
    font-size: 16px;
    background-color: #C4E6E8;
    border-radius: 100px;
    width: fit-content;
    transform: scale(0);
    transform-origin: 0%;
    transition: 0.8s ease-out;
}



.question.question-visible {
    transform: scale(1);
}

.answer-box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: end;
    align-items: end;
    gap: 0px;
}

.avatar {
    width: 34px;
    padding: 5px;
    border-radius: 50%;
    transform: translateX(20px) scale(0.5);
    transform-origin: 0;
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    /* Transition for its own animation */
}

.question-cont.active .avatar {
    opacity: 1;
    transform: translateY(0);
}

.answer {
    padding: 16px 20px 16px 36px;
    line-height: 1.5;
    color: #fbfdfa00;
    background-color: #212121;
    border-radius: 100px;
    max-width: 445px;
    transform: scale(0);
    transition: all 0.8s ease-out;
    transform-origin: 100%;
}

.question-cont.active .answer {
    transform: scale(1);
    color: #fbfdfa;
}

html[dir="rtl"] .question {
    transform-origin: 100%;
}

html[dir="rtl"] .avatar {
    transform-origin: 100%;
}

html[dir="rtl"] .answer {
    transform-origin: 0;
}

@media (min-width:768px) {
    .faq-container {
        padding: 32px 0;
        max-width: min(1400px, 90%);
        gap: 36px
    }

    .answer-box {
        display: flex;
        flex-direction: row-reverse;
        justify-content: end;
        align-items: center;
        gap: 24px;
    }

    .questions-container {
        gap: 44px;
    }

    .question-cont {
        gap: 24px;
    }

    .question {
        font-size: 16px;
    }

    .answer-box {
        justify-content: end;
        align-items: center;
        gap: 24px;
    }

    .avatar {
        padding: 8px;
        width: 46px;
    }
}

/* /Last section */
.last-sec {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.last-sec h2 {
    font-size: 40px;
    color: #161616;
    font-weight: 700;
    text-align: center;
}

.last-sec p {
    font-size: 16px;
    font-weight: 500;
    max-width: 318px;
}

.last-sec .last-icon {
    width: 74px;
    height: 44px;
    border-radius: 177px;
    display: inline-block;
    background-size: 24px;
    background-position: center;
    background-repeat: no-repeat;
    transform: translateY(10px);
    animation: shift-2 20s infinite ease-in-out;
}


/* */

.last-icon.amaranth {
    background-color: #E63746;
    border: 1px solid #C02E3A;
}

.last-icon.aqua {
    background-color: #B6E0E2;
    border: 1px solid #8BB6B7;
}


.last-sec .doubleBtns {
    padding-top: 14px;
}

@media (min-width:768px) {
    .last-sec {
        gap: 12px;
    }

    .last-sec h2 {
        font-size: 96px;
    }

    .last-sec .doubleBtns {
        padding-top: 28px;
    }

    .last-sec p {
        font-size: 20px;
        line-height: 1.5;
        max-width: 610px;
        line-height: 1.5;
        font-weight: 500;
    }

    .last-sec .last-icon {
        transform: translateY(0px);
        /* width:107px;
        height: 64px; */
        background-size: 35px;
        animation: shift 20s infinite ease-in-out;
    }

}

@keyframes shift {
    0% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 0px;
        width: 10px;
        height: 10px;
    }

    2.5% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    17.5% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    20% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 0px;
        width: 10px;
        height: 10px;

    }

    22.5% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    37.5% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    40% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 5px;
        width: 10px;
        height: 10px;

    }

    42.5% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    57.5% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    60% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 5px;
        width: 10px;
        height: 10px;
    }

    62.5% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    77.5% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    80% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 5px;
        width: 10px;
        height: 10px;
    }

    82.5% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    97.5% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 107px;
        height: 64px;
    }

    100% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 5px;
        width: 10px;
        height: 10px;
    }
}

@keyframes shift-2 {
    0% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 0px;
        width: 2px;
        height: 2px;
    }

    2.5% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    17.5% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    20% {
        background-image: url('../images/code.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 0px;
        width: 2px;
        height: 2px;

    }

    22.5% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    37.5% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    40% {
        background-image: url('../images/Plug.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 5px;
        width: 2px;
        height: 2px;

    }

    42.5% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    57.5% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    60% {
        background-image: url('../images/Palette-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 5px;
        width: 2px;
        height: 2px;
    }

    62.5% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    77.5% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    80% {
        background-image: url('../images/pencil-edit.svg');
        background-color: #B6E0E2;
        border: 1px solid #8BB6B7;
        background-size: 5px;
        width: 2px;
        height: 2px;
    }

    82.5% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    97.5% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 35px;
        width: 74px;
        height: 44px;
    }

    100% {
        background-image: url('../images/gallery-w.svg');
        background-color: #E63746;
        border: 1px solid #C02E3A;
        background-size: 5px;
        width: 2px;
        height: 2px;
    }
}

/*Footer  Base Styles (for Desktop/Larger Screens) */
footer {
    display: flex;
    flex-direction: column;
    /* Stacks sections vertically */
    justify-content: center;
    align-items: center;
    gap: 24px;
    max-width: 100vw;
    overflow: hidden;
    padding-top: 36px;
}


html[dir="rtl"] footer .contact-form .btnIcon img {
    transform: rotate(180deg);
}

footer .row {
    width: min(1400px, 90%);
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

footer .row:first-child {
    gap: 36px;
}

footer .first {
    background-color: #FAFAFA;
    /* Light background for the footer */
    box-shadow: 0px 0px 50px 0px #0000001A;
    padding: 20px 24px;
    /*32px*/
    border-radius: 30px;
}

.row .col {
    display: flex;
    flex-direction: column;
}

.first .col {
    gap: 12px;
    /* padding: 28px 24px; */
    justify-content: start;
}

footer .col h3 {
    font-weight: 700;
    font-size: 28px;
}

footer .col p {
    font-weight: 500;
    font-size: 16px;
    text-align: start;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 24px;
}

.detail-item span:nth-child(2) {
    color: #6B6B6B;
    font-size: 14px;
    font-weight: 500;
}

.detail-item .icon {
    background-color: #E63746;
    border-radius: 12px;
    padding: 9px;
    font-size: 18px;
    margin-right: 4px;
}

.detail-item .icon img {
    width: 20px;
    height: auto;
    margin-bottom: -4px;
}

.contact-form {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    /* Space between form fields */
}

.name-cont {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.contact-form .form-group {
    min-width: 100%;
}

.contact-form .form-group.full-width {
    flex-basis: 100%;
    /* Takes full width for email and message */
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
    width: 100%;
    padding: 18px 28px;
    border: 1px solid #D3D3D3;
    background-color: #FCFEFC;
    border-radius: 20px;
    font-size: 1em;
}


.contact-form textarea {
    min-height: 120px;
    resize: vertical;
    /* Allow vertical resizing */
}

.contact-form input:focus-visible {
    outline: none;
}

.contact-form textarea:focus-visible {
    outline: none;
}


.footer-bottom {
    display: flex;
    justify-content: space-between;
    /* Puts space between navigation and branding */
    align-items: flex-start;
    /* Aligns items to the start of the cross-axis */
    gap: 40px;
}

.footer-logo {
    background-color: #FAFAFA;
    padding: 32px 37px;
    box-shadow: 0px 0px 50px 0px #0000001A;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: end;
    flex-grow: 1;
}

.footer-logo h5 {
    line-height: 1.5;
    color: #161616;
    font-weight: 500;
    font-size: 14px;
}

.footer-logo img {
    width: 100%;
}

.mini-row {
    display: flex;
    flex-direction: column;
    padding: 20px 24px;
    box-shadow: 0px 0px 50px 0px #0000001A;
    border-radius: 30px;
}

.mini-row:first-child {
    gap: 20px;
}

.mini-row:nth-child(2) {
    gap: 16px;
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-nav .footer-nav-title {
    color: #6B6B6B;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4%;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-links a {
    cursor: pointer;
    text-decoration: none;
}

.footer-links a {
    text-decoration: none;
    color: #161616;
    letter-spacing: 0.04;
    font-weight: 500;
    font-size: 12px;
    display: inline;
}

.footer-nav h3 {
    padding-bottom: 8px;
    border-bottom: 1px solid #D3D3D3;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04;
    color: #6B6B6B;
}

.d-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

footer {
    padding-bottom: 36px;
}

.contact-form button {
    background-color: #212121;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 700;
    color: #FBFDFA;
    border-radius: 10px;
    display: flex;
}

.contact-form button .cta {
    padding: 8px 20px;
    border-radius: 6px;
    margin: 4px;
}

html[dir="rtl"] .pricing .btnIcon {
    transform: rotate(180deg);
}

.contact-form .red .cta {
    background-color: #E63746;
}

.contact-form .dark .cta {
    background-color: #464646;
}

.contact-form button .btnIcon {
    padding: 0 10px;
    /* margin: 4px 0; */
    display: flex;
    justify-content: center;
    border-radius: 10px;
}

html[dir="rtl"] .button-hover .btnIcon {
    /* transform: rotate(180deg); */
    margin-left: 4px;
}

html[dir="rtl"] #modalOverlay .btnIcon {
    transform: rotate(180deg);
}


html[dir="rtl"] .button-hover .nav-buttons img {
    transform: rotate(180deg);

}

.contact-form button img {
    width: 14px;

}

.social-container {
    display: flex;
    justify-content: center;
    gap: 24px;
}

.allrights {
    color: #6B6B6B;
}

html[dir="rtl"] .footer-logo {
    align-items: start;
}

html[dir="rtl"] .row.first p {
    text-align: start;
}

/* Media Queries for Mobile Layout */
@media (min-width: 768px) {
    footer {
        padding-top: 122px
    }

    footer .first {
        margin: auto;
        background-color: #FAFAFA;
        /* Light background for the footer */
        box-shadow: 0px 0px 50px 0px #0000001A;
        padding: 20px 24px;
        /*32px*/
        display: flex;
        flex-direction: row;
        border-radius: 30px;
    }

    footer .row {
        flex-direction: row;
        justify-content: space-between;
        gap: 24px;
    }

    .first .col {
        gap: 12px;
        padding: 28px 24px;
        justify-content: center;
        align-items: start;
        flex: 1;
    }

    footer .col h3 {
        font-size: 32px;
    }

    footer .col p {
        font-weight: 500;
        font-size: 20px;
        text-align: left;
    }

    .contact-form {
        gap: 32px;
    }

    .contact-section {
        flex-direction: column;
        /* Stack contact details and form vertically */
        padding: 20px;
    }

    .name-cont {
        flex-direction: row;
        gap: 16px;

    }

    .contact-form .form-group {
        flex: 1;
        min-width: calc(50% - 10px);
    }

    /* .footer-logo img{
    width:51vw;
    } */
    .mini-row:first-child {
        gap: 30px;
        padding: 20px 32px;
    }

    .mini-row:nth-child(2) {
        gap: 24px;
        padding: 28px 32px;
    }

    .footer-links {
        display: flex;
        flex-direction: row;
        gap: 20px;
    }

    .d-column {
        gap: 16px;
    }
}




/* Form Message Styles */
.form-message {
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 8px;
    font-weight: 500;
    animation: slideIn 0.3s ease-out;
}

.form-message.success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.form-message.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Form Overlay Loader */
.contact-form {
    position: relative;
}

.form-loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    border-radius: 8px;
}

.loader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #dc2626;
    /* Matches your red theme */
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Button Loader */
.btn-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 8px;
}

/* Button Loading State */
.red:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Animations */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form inputs disabled state during loading */
.contact-form.loading input,
.contact-form.loading textarea {
    pointer-events: none;
    opacity: 0.6;
}







/* Modal Styles - Simple and clean */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.modal-overlay.active {
    display: flex;
}

.modal-container {
    background: #FAFAFA;
    border-radius: 20px;
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0px 0px 50px 0px #0000001A;
    position: relative;
}

.modal-header {
    padding: 30px 30px 0;
    position: relative;
    text-align: center;
}

.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #6B6B6B;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s;
}

html[dir="rtl"] .modal-close {
    right: auto;
    left: 20px;
}

.modal-close:hover {
    color: #333;
    background: #f5f5f5;
}

.modal-title {
    font-size: 28px;
    font-weight: 700;
    color: #161616;
    margin-bottom: 8px;
}

.modal-body {
    padding: 20px 30px 30px;
}

/* Form styles matching your existing contact form */
.modal-form {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.name-cont {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.form-group {
    min-width: 100%;
}

.form-group.full-width {
    flex-basis: 100%;
}

.modal-form input[type="text"],
.modal-form input[type="email"],
.modal-form input[type="url"],
.modal-form textarea {
    width: 100%;
    padding: 18px 28px;
    border: 1px solid #D3D3D3;
    background-color: #FCFEFC;
    border-radius: 20px;
    font-size: 1em;
    font-family: inherit;
}

html[dir="rtl"] .modal-form input,
html[dir="rtl"] .modal-form textarea {
    text-align: right;
}

.modal-form textarea {
    min-height: 120px;
    resize: vertical;
}

.modal-form input:focus,
.modal-form textarea:focus {
    outline: none;
    border-color: #E63746;
}

/* Modal buttons using your existing button styles */
.modal-buttons {
    display: flex;
    gap: 8px;
    margin-top: 25px;
    width: 100%;
}

.modal-btn {
    background-color: #212121;
    font-size: 14px;
    text-transform: capitalize;
    font-weight: 700;
    color: #FBFDFA;
    border-radius: 10px;
    display: flex;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
    min-width: 0;
    height: 48px;
    align-items: center;
}

/* Cancel button - smaller, left side */
.modal-btn.dark {
    flex: 0 0 auto;
    min-width: 80px;
    max-width: 120px;
}

/* Submit button - bigger, takes remaining space */
.modal-btn.red {
    flex: 1;
}



.modal-btn .cta {
    padding: 8px 12px;
    border-radius: 6px;
    margin: 4px;
    flex-grow: 1;
    font-size: 14px;
    text-align: center;
}


.modal-btn .cta .desktop-text {
    display: none;
}

/* Desktop button text - full versions */
@media (min-width: 768px) {
    .modal-btn .cta::before {
        content: none;
    }

    .modal-btn .cta .desktop-text {
        display: inline;
    }
}

.modal-btn.red .cta {
    background-color: #E63746;
}

.modal-btn.dark .cta {
    background-color: #464646;
}

.modal-btn .btnIcon {
    padding: 12px 12px;
    margin: 4px 4px 4px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    flex-shrink: 4;
}

.modal-btn:hover .btnIcon {
    border-radius: 6px;
    background-color: #E63746;
}

html[dir="rtl"] .modal-btn .btnIcon {
    margin: 4px 0 4px 4px;
}

/* Responsive */
@media (min-width: 768px) {
    .name-cont {
        flex-direction: row;
        gap: 16px;
    }

    .form-group {
        flex: 1;
        min-width: calc(50% - 10px);
    }

    .modal-buttons {
        gap: 12px;
    }

    .modal-btn {
        font-size: 16px;
    }

    .modal-btn .cta {
        padding: 8px 20px;
        font-size: 16px;
    }
}

/* Loading state */
.modal-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 8px;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
html[dir="rtl"] .cta, input, textarea {
    font-family: 'Almarai', sans-serif !important;
    /* Adding a generic fallback is always a good idea */
}

html[dir="rtl"] .phone-number {
    direction: ltr;
    display: inline-block;
}


@media (min-width: 768px) {

    .fs-20 {
        font-size: 20px !important;
    }
}

.lh-150 {
    line-height: 150% !important;
}

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



p:empty,
p:blank {
    display: none;
}

/* Hide empty paragraphs */
p:empty {
    display: none;
}



.cursor img {
    content: url('../images/Arrow (4).png');
}

@media (max-width: 768px) {
    .cursor img {
        content: url('../images/cursor.png');
    }


    .answer-box img {
        content: url('../images/iconmobile.svg')
    }

}

.normal-weight {
    font-weight: normal;
}

.en-emphasized {
    font-style: italic;
}

.pb-4 {
    padding-bottom: 8px;
}

@media (max-width: 768px) {
    .mobile-lh-150 {
        line-height: 150% !important;
    }
}

.button-hover , button.red{
    cursor: pointer !important;
}


/* FIXED Legal Pages CSS - No Sidebar, Mobile Optimized */

/* Legal Hero Section - Following your existing hero pattern */
section:has(.legal-hero) {
    background-image: url(../images/bandora-mobile-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
}

@media (min-width: 768px) {
    section:has(.legal-hero) {
        background-image: url(../images/Bandora\ BG.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }
}

/* Fix the padding for hero sections like your main hero */
section:first-of-type:has(.legal-hero) {
    padding: 0;
}

section:not(:first-of-type):has(.legal-content) {
    padding: 36px 0;
}

@media (min-width: 768px) {
    section:not(:first-of-type):has(.legal-content) {
        padding: 122px 0;
    }
}

.legal-hero {
    padding: 0 20px;
    max-width: min(1400px, 90vw);
    margin: auto;
    display: flex;
    gap: 16px;
    flex-direction: column;
    justify-content: center;
    z-index: 10;
    text-align: center;
    margin-top:15% ;
}

.legal-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 3;
    color: #FBFDFA;
}

.legal-hero h1 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #000 !important;
    z-index: 3;
    text-align: center;
}

@media (min-width: 768px) {
    .legal-hero {
        padding: 0;
        font-size: 48px;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .legal-hero h1 {
        font-size: 48px;
    }
}

.legal-hero p {
    font-size: 16px;
    font-weight: 400;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto 24px;
    color: #000 !important;
    text-align: center;
}

@media (min-width: 768px) {
    .legal-hero p {
        font-size: 20px;
        max-width: 523px;
        line-height: 1.5;
    }
}

.legal-meta {
    font-size: 14px;
    opacity: 0.7;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    display: inline-block;
    color: #000 !important;
    margin-top: 20px;
}

/* Legal Content Layout - Fixed for no sidebar */
.legal-content {
    padding: 40px 0 80px 0;
    background: #FFFFFF;
    overflow: hidden;
}

@media (min-width: 768px) {
    .legal-content {
        padding: 60px 0 122px 0;
    }
}

.legal-container {
    max-width: min(1400px, 90%); /* Smaller max-width since no sidebar */
    margin: 0 auto;
    padding: 0 20px;
}

/* Main Content Area - Full width now */
.legal-main {
    background: #FAFAFA;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0px 0px 50px 0px #0000001A;
    width: 100%;
}

.legal-intro {
    font-size: 18px;
    color: #464646;
    line-height: 1.6;
    margin-bottom: 40px;
    padding: 24px;
    background: rgba(230, 55, 70, 0.05);
    border-left: 4px solid #E63746;
    border-radius: 0 12px 12px 0;
    text-align: left;
}

.legal-section {
    margin-bottom: 48px;
}

.legal-section h2 {
    font-size: 28px;
    font-weight: 700;
    color: #161616;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #E63746;
    text-align: left;
}

.legal-section h3 {
    font-size: 20px;
    font-weight: 600;
    color: #212121;
    margin-bottom: 12px;
    margin-top: 24px;
    text-align: left;
}

.legal-section p {
    font-size: 16px;
    line-height: 1.6;
    color: #464646;
    margin-bottom: 16px;
    text-align: left;
}

.legal-section ul {
    margin: 16px 0;
    padding-left: 24px;
}

.legal-section li {
    font-size: 16px;
    line-height: 1.6;
    color: #464646;
    margin-bottom: 8px;
    text-align: left;
}

.legal-subsection {
    margin: 16px 0 24px 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    border-left: none;
}

.legal-subsection h3 {
    color: #212121;
    margin-top: 16px;
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 600;
}

.legal-subsection p {
    color: #464646;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* Footer Section - Fixed buttons */
.legal-footer {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 2px solid #E2F3F3;
}

.legal-footer-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.legal-footer-buttons a {
    text-decoration: none;
    background-color: #212121;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 700;
    color: #FBFDFA;
    border-radius: 10px;
    display: flex;
    min-width: 200px;
    transition: all 0.5s;
    cursor: pointer;
}

.legal-footer-buttons a .cta {
    padding: 8px 20px;
    border-radius: 6px;
    margin: 4px;
    flex-grow: 1;
    text-align: center;
}

.legal-footer-buttons .red .cta {
    background-color: #E63746;
}

.legal-footer-buttons .dark .cta {
    background-color: #464646;
}

.legal-footer-buttons a .btnIcon {
    padding: 12px 12px;
    margin: 4px 4px 4px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    flex-shrink: 4;
    transition: 0.5s ease-in-out;
}

.legal-footer-buttons a .btnIcon img {
    width: 14px;
    height: 14px;
}

.legal-footer-buttons a:hover .btnIcon {
    border-radius: 6px;
    background-color: #E63746;
}

/* Email Links */
.legal-section a {
    color: #E63746;
    text-decoration: none;
    font-weight: 600;
}

.legal-section a:hover {
    text-decoration: underline;
}

/* Mobile Responsive - Completely rewritten for better mobile experience */
@media (max-width: 768px) {
    .legal-hero {
        height: 60vh; /* Smaller height on mobile */
        padding: 0 16px;
    }

    .legal-hero h1 {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .legal-hero p {
        font-size: 14px;
        margin-bottom: 16px;
        max-width: 100%;
    }

    .legal-meta {
        font-size: 12px;
        padding: 6px 12px;
        margin-top: 16px;
    }

    .legal-content {
        padding: 20px 0 40px 0;
    }

    .legal-container {
        max-width: 100%;
        padding: 0 16px;
    }

    .legal-main {
        padding: 20px;
        border-radius: 16px;
        margin: 0;
    }

    .legal-intro {
        padding: 16px;
        font-size: 14px;
        margin-bottom: 32px;
        border-radius: 0 8px 8px 0;
    }

    .legal-section {
        margin-bottom: 32px;
    }

    .legal-section h2 {
        font-size: 20px;
        margin-bottom: 16px;
        padding-bottom: 8px;
    }

    .legal-section h3 {
        font-size: 16px;
        margin-bottom: 8px;
        margin-top: 16px;
    }

    .legal-section p {
        font-size: 14px;
        margin-bottom: 12px;
        line-height: 1.5;
    }

    .legal-section ul {
        padding-left: 20px;
        margin: 12px 0;
    }

    .legal-section li {
        font-size: 14px;
        margin-bottom: 6px;
        line-height: 1.4;
    }

    .legal-subsection {
        margin: 12px 0 16px 0;
    }

    .legal-subsection h3 {
        font-size: 15px;
        margin-top: 12px;
        margin-bottom: 6px;
    }

    .legal-subsection p {
        font-size: 14px;
        margin-bottom: 10px;
        line-height: 1.4;
    }

    .legal-footer {
        margin-top: 32px;
        padding-top: 24px;
    }

    .legal-footer-buttons {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .legal-footer-buttons a {
        min-width: 100%;
        max-width: 300px;
        font-size: 14px;
    }

    .legal-footer-buttons a .cta {
        padding: 10px 16px;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .legal-hero {
        height: 50vh;
        padding: 0 12px;
    }

    .legal-hero h1 {
        font-size: 22px;
    }

    .legal-hero p {
        font-size: 13px;
    }

    .legal-container {
        padding: 0 12px;
    }

    .legal-main {
        padding: 16px;
        border-radius: 12px;
    }

    .legal-intro {
        padding: 12px;
        font-size: 13px;
    }

    .legal-section h2 {
        font-size: 18px;
    }

    .legal-section h3 {
        font-size: 15px;
    }

    .legal-section p,
    .legal-section li,
    .legal-subsection p {
        font-size: 13px;
    }
}

/* RTL Support */
html[dir="rtl"] .legal-main {
    text-align: right;
}

html[dir="rtl"] .legal-section p,
html[dir="rtl"] .legal-section li {
    text-align: right;
}

html[dir="rtl"] .legal-section h2,
html[dir="rtl"] .legal-section h3 {
    text-align: right;
}

html[dir="rtl"] .legal-intro {
    text-align: right;
    border-left: none;
    border-right: 4px solid #E63746;
    border-radius: 12px 0 0 12px;
}

html[dir="rtl"] .legal-section ul {
    padding-left: 0;
    padding-right: 24px;
}

@media (max-width: 768px) {
    html[dir="rtl"] .legal-section ul {
        padding-right: 20px;
    }
}

html[dir="rtl"] .legal-footer-buttons a .btnIcon {
    margin: 4px 0 4px 4px;
}

/* Smooth Scrolling for Navigation Links */
html {
    scroll-behavior: smooth;
}

/* Print Styles */
@media print {
    .legal-hero,
    .legal-footer {
        display: none;
    }

    .legal-main {
        box-shadow: none;
        border-radius: 0;
        padding: 20px;
    }

    .legal-section {
        page-break-inside: avoid;
    }
}

/* Additional fixes for text alignment and spacing */
.legal-section {
    text-align: left;
}

.legal-main p {
    text-align: left;
}

html[dir="rtl"] .legal-main p {
    text-align: right;
}

.logo img{
    cursor: pointer !important;
}
