/* =========================================================
   FOFANA PORTFOLIO
   COMPLETE NEW STYLE
========================================================= */

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

html {
    scroll-behavior: smooth;
    background: #000;
}

body {
    min-height: 100vh;
    overflow-x: hidden;

    background:
        radial-gradient(
            ellipse at 50% 0%,
            #35104d 0%,
            #1b0827 25%,
            #0d0512 52%,
            #030204 78%,
            #000 100%
        );

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    line-height: 1.6;
}


/* =========================================================
   REMOVE OLD GRID / GRADIENT LINES
========================================================= */

body::before,
body::after {
    display: none !important;
}


/* =========================================================
   LINKS
========================================================= */

a {
    color: inherit;
    text-decoration: none;
}


/* =========================================================
   CONTAINER
========================================================= */

.container {
    width: min(
        1200px,
        calc(100% - 48px)
    );

    margin: 0 auto;
}


/* =========================================================
   MAIN WEBSITE HEADER — FIXED
========================================================= */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    z-index: 9999 !important;

    background:
        rgba(7, 3, 10, 0.92) !important;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.08) !important;

    backdrop-filter:
        blur(20px) !important;

    -webkit-backdrop-filter:
        blur(20px) !important;
}

body {
    padding-top: 92px;
}


/* =========================================================
   BRAND
========================================================= */

.brand {
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 4px;
}

.brand span {
    color: #b46cff;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.desktop-nav {
    display: flex;
    align-items: center;
    gap: 32px;
}

.desktop-nav a {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;

    color: rgba(255,255,255,0.72);

    transition:
        color 0.3s ease;
}

.desktop-nav a:hover {
    color: #fff;
}


/* =========================================================
   HAMBURGER
========================================================= */

.menu-toggle {
    display: none;

    width: 62px;
    height: 62px;

    border-radius: 20px;

    border:
        1px solid rgba(255,255,255,0.14);

    background:
        rgba(255,255,255,0.05);

    cursor: pointer;

    align-items: center;
    justify-content: center;

    flex-direction: column;
    gap: 7px;

    backdrop-filter:
        blur(20px);
}

.menu-toggle span {
    width: 34px;
    height: 3px;

    border-radius: 10px;

    background: #fff;
}


/* =========================================================
   MOBILE NAV
========================================================= */

.nav-menu {
    display: none;
}

.nav-menu.mobile-menu-open {
    display: flex;

    flex-direction: column;

    padding:
        20px 24px 30px;

    background:
        rgba(7, 3, 10, 0.98);

    border-top:
        1px solid rgba(255,255,255,0.07);

    position: relative;
    z-index: 1001;
}

.nav-menu a {
    padding: 16px 0;

    border-bottom:
        1px solid rgba(255,255,255,0.07);

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}

.nav-menu .admin-menu-link {
    color: #b46cff;
}


/* =========================================================
   DESKTOP NAVIGATION
========================================================= */

.desktop-nav {
    display: flex;

    align-items: center;

    gap: 32px;
}

@media (min-width: 769px) {

    .nav-menu {
        display: none !important;
    }

    .menu-toggle {
        display: none !important;
    }

}


/* =========================================================
   MOBILE NAVIGATION
========================================================= */

@media (max-width: 768px) {

    .desktop-nav {
        display: none !important;
    }

    .menu-toggle {
        display: flex !important;
        position: relative;
        z-index: 1002;
    }

    .site-header {
        position: sticky;
        top: 0;
        z-index: 9999;
    }

    .nav-menu {
        width: 100%;
    }

}


/* =========================================================
   HERO
========================================================= */

.hero-section {
    position: relative;

    min-height:
        calc(100vh - 92px);

    display: flex;
    align-items: center;

    overflow: hidden;

    padding:
        100px 0 150px;
}


.hero-container {
    position: relative;
}


.hero-content {
    position: relative;
    z-index: 5;

    max-width: 900px;
}


.hero-label {
    margin-bottom: 25px;

    color: #b46cff;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 4px;
}


.hero-title {
    font-size:
        clamp(55px, 8vw, 105px);

    line-height: 0.92;

    font-weight: 950;

    letter-spacing: -5px;

    text-transform: uppercase;
}

.hero-title span {
    color: #b46cff;
}


.hero-description {
    max-width: 720px;

    margin-top: 55px;

    color:
        rgba(255,255,255,0.62);

    font-size: 21px;
    line-height: 1.9;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.hero-buttons {
    display: flex;

    gap: 18px;

    margin-top: 55px;

    flex-wrap: wrap;
}


.primary-button,
.secondary-button {
    min-height: 64px;

    padding:
        0 36px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 50px;

    font-size: 14px;
    font-weight: 900;

    letter-spacing: 1px;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}


.primary-button {
    background: #fff;
    color: #08050a;
}


.secondary-button {
    border:
        1px solid rgba(255,255,255,0.16);

    background:
        rgba(255,255,255,0.05);

    backdrop-filter:
        blur(20px);
}


.primary-button:hover,
.secondary-button:hover {
    transform: translateY(-4px);
}


/* =========================================================
   FLOATING LOGO
========================================================= */

.floating-logo {
    position: absolute;

    right: 8%;
    bottom: 25px;

    z-index: 3;

    animation:
        floatingLogo 4s ease-in-out infinite;
}


.logo-glass {
    width: 230px;
    height: 230px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border:
        1px solid rgba(255,255,255,0.18);

    background:
        rgba(255,255,255,0.06);

    box-shadow:
        0 20px 80px rgba(0,0,0,0.4),
        inset 0 1px 1px rgba(255,255,255,0.12);

    backdrop-filter:
        blur(20px);

    -webkit-backdrop-filter:
        blur(20px);
}


/* =========================================================
   ACTUAL LOGO CIRCLE
========================================================= */

.logo-circle {
    width: 175px;
    height: 175px;

    border-radius: 50%;

    overflow: hidden;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        2px solid rgba(255,255,255,0.20);

    background:
        #08050d;

    box-shadow:
        0 0 40px rgba(180,108,255,0.25);
}


.logo-circle img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   WORK SECTION
========================================================= */

.work-section {
    position: relative;

    padding:
        120px 0;
}


.section-heading {
    max-width: 850px;

    margin-bottom: 80px;
}


.section-label {
    margin-bottom: 15px;

    color: #b46cff;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 4px;
}


.section-heading h2 {
    font-size:
        clamp(45px, 6vw, 80px);

    line-height: 0.95;

    letter-spacing: -3px;

    text-transform: uppercase;
}


.section-heading h2 span {
    color: #b46cff;
}


.section-heading > p:last-child {
    max-width: 680px;

    margin-top: 30px;

    color:
        rgba(255,255,255,0.58);

    font-size: 18px;
}


/* =========================================================
   SERVICE HEADING
========================================================= */

.portfolio-section {
    position: relative;

    margin-bottom: 130px;
}


.service-heading {
    margin-bottom: 30px;
}


.service-number {
    color: #b46cff;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 3px;
}


.service-heading h2 {
    margin-top: 5px;

    font-size:
        clamp(30px, 5vw, 55px);

    line-height: 1;

    text-transform: uppercase;
}


.service-heading p:last-child {
    max-width: 650px;

    margin-top: 14px;

    color:
        rgba(255,255,255,0.55);
}


/* =========================================================
   WEB SLIDER
========================================================= */

.portfolio-slider {
    position: relative;

    min-height: 620px;

    overflow: hidden;

    border-radius: 30px;

    border:
        1px solid rgba(255,255,255,0.10);

    background:
        rgba(255,255,255,0.025);

    backdrop-filter:
        blur(10px);
}


.portfolio-slider-track,
.full-width-slider .portfolio-slider-track {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: inherit;
}


.portfolio-slide {
    position: absolute;

    inset: 0;

    opacity: 0;

    visibility: hidden;

    transition:
        opacity 0.7s ease;
}


.portfolio-slide.active {
    opacity: 1;

    visibility: visible;

    z-index: 2;
}


.slide-preview {
    position: absolute;

    inset: 0;

    overflow: hidden;
}


.slide-preview img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.slide-info {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 70px 45px 40px;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.90),
            transparent
        );
}


.slide-info p {
    color: #b46cff;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 3px;
}


.slide-info h3 {
    margin:
        8px 0 18px;

    font-size: 30px;
}


.slide-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding:
        0 22px;

    border-radius: 30px;

    background: #fff;

    color: #09070f;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 1px;
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.slider-prev,
.slider-next {
    position: absolute;

    top: 50%;

    transform:
        translateY(-50%);

    z-index: 10;

    width: 54px;
    height: 54px;

    border-radius: 50%;

    border:
        1px solid rgba(255,255,255,0.18);

    background:
        rgba(0,0,0,0.45);

    color: #fff;

    cursor: pointer;

    font-size: 20px;

    backdrop-filter:
        blur(15px);

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}


.slider-prev {
    left: 20px;
}


.slider-next {
    right: 20px;
}


.slider-prev:hover,
.slider-next:hover {
    background:
        rgba(180,108,255,0.25);

    transform:
        translateY(-50%) scale(1.05);
}


/* =========================================================
   CREATIVE SLIDER
========================================================= */

.full-width-slider {
    position: relative;

    width: 100%;

    min-height: 650px;

    overflow: hidden;

    border-top:
        1px solid rgba(255,255,255,0.08);

    border-bottom:
        1px solid rgba(255,255,255,0.08);

    background:
        #050306;
}


.creative-slide {
    position: absolute;

    inset: 0;

    min-height: 650px;

    opacity: 0;

    visibility: hidden;

    transition:
        opacity 0.7s ease;
}


.creative-slide.active {
    opacity: 1;

    visibility: visible;

    z-index: 2;
}


/* =========================================================
   CREATIVE COVER
========================================================= */

.design-preview {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        #050306;
}


/*
   IMPORTANT:
   Cover fills the available preview area,
   but CONTAIN prevents the project cover
   from being cropped.
*/

.design-preview .creative-cover-image {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;

    object-fit: contain !important;

    object-position: center;

    border-radius: 0;
}


.slide-placeholder {
    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    color:
        rgba(255,255,255,0.35);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 3px;
}


/* =========================================================
   CREATIVE SLIDE BUTTON
========================================================= */

.creative-slide-info {
    position: absolute;

    left: 50%;
    bottom: 35px;

    transform:
        translateX(-50%);

    z-index: 8;

    width: auto;

    text-align: center;
}


.creative-slide-info h3,
.creative-slide-info > p {
    display: none !important;
}


.creative-page-link {
    white-space: nowrap;
}


/* =========================================================
   SERVICE ACTION
========================================================= */

.service-action {
    display: flex;

    justify-content: center;

    margin-top: 30px;
}


.learn-more {
    min-height: 52px;

    padding:
        0 28px;

    border-radius: 40px;

    border:
        1px solid rgba(255,255,255,0.15);

    background:
        rgba(255,255,255,0.05);

    color: #fff;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    cursor: pointer;

    backdrop-filter:
        blur(15px);

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}


.learn-more:hover {
    transform:
        translateY(-3px);

    background:
        rgba(180,108,255,0.18);
}


/* =========================================================
   SERVICE INFORMATION
========================================================= */

.service-information {
    max-width: 850px;

    margin:
        30px auto 0;

    padding: 35px;

    border:
        1px solid rgba(255,255,255,0.10);

    border-radius: 24px;

    background:
        rgba(255,255,255,0.04);

    backdrop-filter:
        blur(20px);
}


.service-information h3 {
    margin-bottom: 15px;

    color: #b46cff;

    font-size: 20px;
}


.service-information p {
    color:
        rgba(255,255,255,0.62);

    line-height: 1.8;
}


/* =========================================================
   QUALITY AFTER PITCH DECK
========================================================= */

.quality-section {
    width: 100%;

    display: flex;

    justify-content: center;

    padding:
        10px 0 100px;
}


.quality-circle-large {
    position: relative;

    right: auto;
    bottom: auto;

    width: 210px;
    height: 210px;
}


/* =========================================================
   WHY CHOOSE US
========================================================= */

.why-section {
    padding:
        100px 0 140px;
}


.benefits-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 22px;
}


.benefit-card {
    min-height: 270px;

    padding: 35px;

    border:
        1px solid rgba(255,255,255,0.10);

    border-radius: 28px;

    background:
        rgba(255,255,255,0.035);

    backdrop-filter:
        blur(15px);

    transition:
        transform 0.3s ease;
}


.benefit-card:hover {
    transform:
        translateY(-8px);
}


.benefit-number {
    color: #b46cff;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;
}


.benefit-card h3 {
    margin:
        35px 0 15px;

    font-size: 22px;
}


.benefit-card p {
    color:
        rgba(255,255,255,0.55);
}


/* =========================================================
   CLIENT REVIEWS
========================================================= */

.client-reviews-section {
    padding:
        30px 0 110px;
}


.client-reviews-wrapper {
    width: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    text-align: center;
}


.client-reviews-button {
    min-height: 62px;

    padding:
        0 35px;

    border-radius: 50px;

    border:
        1px solid rgba(255,255,255,0.16);

    background:
        rgba(255,255,255,0.055);

    color: #fff;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    cursor: pointer;

    backdrop-filter:
        blur(20px);

    box-shadow:
        0 15px 50px rgba(0,0,0,0.3);

    animation:
        clientReviewsFloat 4s ease-in-out infinite;
}


.client-reviews-panel {
    max-width: 1000px;

    margin:
        40px auto 0;
}


.reviews-container {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}


.public-review-card {
    padding: 28px;

    border-radius: 24px;

    border:
        1px solid rgba(255,255,255,0.10);

    background:
        rgba(255,255,255,0.04);

    backdrop-filter:
        blur(18px);
}


.public-review-top {
    display: flex;

    justify-content: space-between;

    gap: 20px;
}


.public-review-client {
    display: flex;

    align-items: center;

    gap: 12px;
}


.review-client-avatar {
    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(180,108,255,0.20);

    color: #fff;

    font-weight: 900;
}


.public-review-client h4 {
    font-size: 15px;
}


.public-review-client p {
    color:
        rgba(255,255,255,0.5);

    font-size: 12px;
}


.review-badges {
    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 5px;
}


.review-rating {
    color: #b46cff;

    letter-spacing: 1px;
}


.review-category-badge {
    color:
        rgba(255,255,255,0.55);

    font-size: 9px;

    text-transform: uppercase;
}


.public-review-text {
    margin-top: 25px;

    color:
        rgba(255,255,255,0.65);

    line-height: 1.8;
}


/* =========================================================
   FAQ
========================================================= */

.faq-section {
    padding:
        100px 0 140px;
}


.faq-list {
    max-width: 900px;

    margin: 0 auto;
}


.faq-item {
    border-bottom:
        1px solid rgba(255,255,255,0.10);
}


.faq-question {
    width: 100%;

    min-height: 80px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    border: 0;

    background: transparent;

    color: #fff;

    text-align: left;

    font-size: 17px;
    font-weight: 700;

    cursor: pointer;
}


.faq-question span:last-child {
    color: #b46cff;

    font-size: 25px;
}


.faq-answer {
    max-height: 0;

    overflow: hidden;

    transition:
        max-height 0.4s ease;
}


.faq-item.active .faq-answer {
    max-height: 300px;
}


.faq-answer p {
    padding:
        0 0 30px;

    color:
        rgba(255,255,255,0.58);
}


/* =========================================================
   CONTACT
========================================================= */

.contact-section {
    padding:
        100px 0 160px;

    text-align: center;
}


.contact-content {
    max-width: 800px;

    margin: 0 auto;
}


.contact-content h2 {
    font-size:
        clamp(45px, 7vw, 85px);

    line-height: 0.95;

    letter-spacing: -4px;
}


.contact-content h2 span {
    color: #b46cff;
}


.contact-content > p:not(.section-label) {
    margin:
        30px auto;

    max-width: 650px;

    color:
        rgba(255,255,255,0.58);
}


.contact-buttons {
    display: flex;

    justify-content: center;

    gap: 15px;

    flex-wrap: wrap;
}


.contact-email,
.contact-whatsapp {
    min-height: 55px;

    padding:
        0 25px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 40px;

    border:
        1px solid rgba(255,255,255,0.12);

    background:
        rgba(255,255,255,0.05);

    font-size: 13px;

    font-weight: 700;
}


/* =========================================================
   FLOATING CONTACT
========================================================= */

.floating-contact {
    position: fixed;

    right: 22px;
    bottom: 24px;

    z-index: 900;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 12px;
}


.floating-contact-button {
    min-height: 60px;

    padding:
        0 20px;

    display: flex;

    align-items: center;

    gap: 12px;

    border-radius: 40px;

    border:
        1px solid rgba(255,255,255,0.15);

    background:
        rgba(35,20,45,0.70);

    color: #fff;

    box-shadow:
        0 15px 45px rgba(0,0,0,0.35);

    backdrop-filter:
        blur(20px);

    -webkit-backdrop-filter:
        blur(20px);

    font-size: 12px;

    font-weight: 800;
}


.floating-email {
    animation:
        emailFloat 4s ease-in-out infinite;
}


.floating-whatsapp {
    animation:
        whatsappFloat 4.5s ease-in-out infinite;
}


.contact-icon {
    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(180,108,255,0.18);

    color: #b46cff;

    font-weight: 900;
}


/* =========================================================
   FOOTER — WHITE
========================================================= */

.site-footer {
    background: #fff;

    color: #08070a;

    padding:
        75px 0 25px;
}


.footer-container {
    width: min(
        1200px,
        calc(100% - 48px)
    );

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1.2fr 1fr 1fr;

    gap: 60px;
}


.footer-logo {
    font-size: 30px;

    font-weight: 950;

    letter-spacing: 4px;
}


.footer-logo span {
    color: #8d45d4;
}


.footer-brand p {
    margin-top: 12px;

    color:
        rgba(8,7,10,0.55);
}


.footer-links {
    display: flex;

    flex-direction: column;

    gap: 10px;
}


.footer-links a,
.footer-contact a {
    color:
        rgba(8,7,10,0.65);

    font-size: 13px;

    transition:
        color 0.3s ease;
}


.footer-links a:hover,
.footer-contact a:hover {
    color: #8d45d4;
}


.footer-contact {
    display: flex;

    flex-direction: column;

    gap: 12px;
}


.footer-bottom {
    width: min(
        1200px,
        calc(100% - 48px)
    );

    margin:
        55px auto 0;

    padding-top:
        22px;

    border-top:
        1px solid rgba(0,0,0,0.10);
}


.footer-bottom p {
    color:
        rgba(8,7,10,0.45);

    font-size: 12px;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes floatingLogo {

    0%,
    100% {
        transform:
            translateY(0);
    }

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

}


@keyframes qualityFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

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

}


@keyframes clientReviewsFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

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

}


@keyframes emailFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

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

}


@keyframes whatsappFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

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

}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.reveal {
    opacity: 0;

    transform:
        translateY(30px);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}


.revealed {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .desktop-nav {
        display: none;
    }

    .menu-toggle {
        display: flex;
    }


    .hero-section {
        padding:
            80px 0 100px;
    }


    .hero-title {
        letter-spacing: -3px;
    }


    .floating-logo {
        position: relative;

        right: auto;
        bottom: auto;

        margin:
            80px auto 0;

        width: fit-content;
    }


    .quality-circle {
        right: 3%;
        bottom: 20px;

        width: 145px;
        height: 145px;
    }


    .logo-glass {
        width: 210px;
        height: 210px;
    }


    .logo-circle {
        width: 160px;
        height: 160px;
    }


    .benefits-grid {
        grid-template-columns:
            1fr;
    }


    .footer-container {
        grid-template-columns:
            1fr 1fr;
    }


    .reviews-container {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 600px) {

    .container {
        width:
            calc(100% - 32px);
    }


    .nav-container {
        min-height: 78px;
    }


    .brand {
        font-size: 25px;

        letter-spacing: 3px;
    }


    .menu-toggle {
        width: 56px;
        height: 56px;
    }


    .hero-section {
        min-height:
            auto;

        padding:
            65px 0 90px;
    }


    .hero-label {
        font-size: 10px;

        letter-spacing: 2.5px;
    }


    .hero-title {
        font-size:
            clamp(48px, 14vw, 75px);

        letter-spacing: -3px;

        line-height: 0.92;
    }


    .hero-description {
        margin-top: 35px;

        font-size: 17px;

        line-height: 1.7;
    }


    .hero-buttons {
        flex-direction: column;

        margin-top: 35px;
    }


    .primary-button,
    .secondary-button {
        width: 100%;
    }


    .floating-logo {
        margin-top: 60px;
    }


    .logo-glass {
        width: 185px;
        height: 185px;
    }


    .logo-circle {
        width: 140px;
        height: 140px;
    }


    .quality-circle {
        width: 125px;
        height: 125px;

        right: 0;
    }


    .quality-circle strong {
        font-size: 22px;
    }


    .quality-circle span {
        font-size: 7px;
    }


    .work-section {
        padding:
            80px 0;
    }


    .section-heading {
        margin-bottom: 55px;
    }


    .section-heading h2 {
        font-size:
            45px;

        letter-spacing:
            -2px;
    }


    .portfolio-section {
        margin-bottom:
            90px;
    }


    .portfolio-slider {
        min-height:
            500px;
    }


    .full-width-slider {
        min-height:
            500px;
    }


    .creative-slide {
        min-height:
            500px;
    }


    .slider-prev,
    .slider-next {
        width: 44px;
        height: 44px;

        font-size: 16px;
    }


    .slider-prev {
        left: 12px;
    }


    .slider-next {
        right: 12px;
    }


    .creative-slide-info {
        bottom: 25px;
    }


    .slide-info {
        padding:
            60px 25px 25px;
    }


    .slide-info h3 {
        font-size: 22px;
    }


    .quality-circle-large {
        width: 175px;
        height: 175px;
    }


    .floating-contact {
        right: 14px;
        bottom: 15px;

        gap: 9px;
    }


    .floating-contact-button {
        min-height: 52px;

        padding:
            0 15px;

        font-size: 10px;
    }


    .floating-email {
        max-width:
            250px;
    }


    .contact-icon {
        width: 30px;
        height: 30px;
    }


    .public-review-top {
        flex-direction: column;
    }


    .review-badges {
        align-items: flex-start;
    }


    .footer-container {
        width:
            calc(100% - 32px);

        grid-template-columns:
            1fr;

        gap: 35px;
    }


    .footer-bottom {
        width:
            calc(100% - 32px);
    }

}


@media (max-width: 400px) {

    .hero-title {
        font-size:
            45px;
    }


    .floating-logo {
        margin-top:
            50px;
    }


    .quality-circle {
        width: 105px;
        height: 105px;
    }


    .quality-circle strong {
        font-size: 19px;
    }


    .quality-circle span {
        font-size: 6px;

        letter-spacing: 1px;
    }


    .full-width-slider,
    .creative-slide {
        min-height:
            450px;
    }

}


/* =========================================================
   100% QUALITY DELIVERY
   Appears ONLY after Pitch Deck Design
========================================================= */

.quality-delivery-wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding: 30px 8% 40px;
    pointer-events: none;
}

.quality-delivery-badge {
    width: 145px;
    height: 145px;
    border-radius: 50%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.16);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 15px 40px rgba(0, 0, 0, 0.35);

    animation: qualityFloat 1s ease-in-out infinite alternate;
}

.quality-delivery-badge strong {
    font-size: 28px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1;
}

.quality-delivery-badge span {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.5;
}

@keyframes qualityFloat {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-14px);
    }
}

@media (max-width: 600px) {
    .quality-delivery-wrapper {
        justify-content: flex-end;
        padding: 25px 25px 35px;
    }

    .quality-delivery-badge {
        width: 120px;
        height: 120px;
    }

    .quality-delivery-badge strong {
        font-size: 24px;
    }

    .quality-delivery-badge span {
        font-size: 8px;
        letter-spacing: 1.5px;
    }
}


/* =========================================================
   FOFANA TECH — ADMIN LOGIN
   Matches admin.html exactly
   ========================================================= */

body.admin-page {
    margin: 0;
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 20% 15%,
            rgba(180, 108, 255, 0.18),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(125, 63, 193, 0.12),
            transparent 35%
        ),
        #07060b;

    color: #fff;
}


/* =========================================================
   LOGIN PAGE
   ========================================================= */

.admin-login-page {
    position: relative;

    min-height: 100vh;
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 20px;

    overflow: hidden;
}


/* =========================================================
   BACKGROUND GLOW
   ========================================================= */

.admin-login-glow {
    position: absolute;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    background: rgba(180, 108, 255, 0.10);

    filter: blur(90px);

    pointer-events: none;
}

.glow-one {
    top: -120px;
    left: -100px;
}

.glow-two {
    right: -120px;
    bottom: -120px;

    background: rgba(125, 63, 193, 0.12);
}


/* =========================================================
   LOGIN CARD
   ========================================================= */

.admin-login-card {
    position: relative;
    z-index: 2;

    width: min(430px, 100%);

    padding: 42px 35px;

    text-align: center;

    background: rgba(255, 255, 255, 0.055);

    border: 1px solid rgba(255, 255, 255, 0.14);

    border-radius: 26px;

    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.5),
        0 0 45px rgba(180, 108, 255, 0.08);

    animation: adminCardAppear 0.7s ease forwards;
}

@keyframes adminCardAppear {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

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


/* =========================================================
   ADMIN LOGO — CIRCULAR GLASS FRAME
   ========================================================= */

.admin-logo {
    width: 105px;
    height: 105px;

    margin: 0 auto 25px;

    padding: 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.06);

    border: 1px solid rgba(255, 255, 255, 0.20);

    box-shadow:
        0 0 30px rgba(180, 108, 255, 0.25),
        inset 0 0 20px rgba(255, 255, 255, 0.05);

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    animation: adminLogoFloat 3s ease-in-out infinite;
}

.admin-logo img {
    width: 100%;
    height: 100%;

    display: block;

    border-radius: 50%;

    object-fit: contain;
}

@keyframes adminLogoFloat {
    0%,
    100% {
        transform: translateY(0);
    }

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


/* =========================================================
   PRIVATE AREA LABEL
   ========================================================= */

.admin-label {
    margin: 0 0 8px;

    color: #b46cff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    text-transform: uppercase;
}


/* =========================================================
   HEADING
   ========================================================= */

.admin-login-card h1 {
    margin: 0 0 10px;

    color: #fff;

    font-size: clamp(28px, 5vw, 36px);

    font-weight: 800;

    letter-spacing: -1px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.admin-description {
    margin: 0 0 30px;

    color: rgba(255, 255, 255, 0.52);

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================================
   FORM
   ========================================================= */

#adminLoginForm {
    width: 100%;

    text-align: left;
}

.form-group {
    margin-bottom: 19px;
}


/* =========================================================
   LABELS
   ========================================================= */

.form-group label {
    display: block;

    margin-bottom: 8px;

    color: rgba(255, 255, 255, 0.75);

    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   INPUTS
   ========================================================= */

#adminEmail,
#adminPassword {
    box-sizing: border-box;

    width: 100%;
    height: 52px;

    padding: 0 16px;

    border: 1px solid rgba(255, 255, 255, 0.12);

    border-radius: 12px;

    outline: none;

    background: rgba(0, 0, 0, 0.28);

    color: #fff;

    font-family: inherit;
    font-size: 14px;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

#adminEmail::placeholder,
#adminPassword::placeholder {
    color: rgba(255, 255, 255, 0.30);
}

#adminEmail:hover,
#adminPassword:hover {
    border-color: rgba(255, 255, 255, 0.20);
}

#adminEmail:focus,
#adminPassword:focus {
    border-color: rgba(180, 108, 255, 0.75);

    background: rgba(0, 0, 0, 0.38);

    box-shadow:
        0 0 0 3px rgba(180, 108, 255, 0.10),
        0 0 25px rgba(180, 108, 255, 0.08);
}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

.admin-login-button {
    width: 100%;

    height: 52px;

    margin-top: 5px;

    border: 0;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #b46cff,
        #7d3fc1
    );

    color: #fff;

    font-family: inherit;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: 0.5px;

    cursor: pointer;

    box-shadow:
        0 12px 30px rgba(180, 108, 255, 0.20);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}

.admin-login-button:hover {
    transform: translateY(-2px);

    filter: brightness(1.08);

    box-shadow:
        0 16px 38px rgba(180, 108, 255, 0.32);
}

.admin-login-button:active {
    transform: translateY(0);
}


/* =========================================================
   LOGIN MESSAGE
   ========================================================= */

.login-message {
    min-height: 18px;

    margin: 14px 0 0;

    text-align: center;

    color: #ff8c8c;

    font-size: 13px;
}


/* =========================================================
   BACK TO PORTFOLIO
   ========================================================= */

.back-to-portfolio {
    display: inline-block;

    margin-top: 25px;

    color: rgba(255, 255, 255, 0.50);

    font-size: 13px;

    text-decoration: none;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.back-to-portfolio:hover {
    color: #b46cff;

    transform: translateX(-3px);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .admin-login-page {
        padding: 25px 15px;
    }

    .admin-login-card {
        padding: 35px 22px;

        border-radius: 22px;
    }

    .admin-logo {
        width: 90px;
        height: 90px;

        margin-bottom: 22px;
    }

    .admin-login-card h1 {
        font-size: 28px;
    }

    .admin-description {
        font-size: 13px;
    }

    #adminEmail,
    #adminPassword,
    .admin-login-button {
        height: 50px;
    }
}


/* =========================================================
   FOFANA TECH — ADMIN DASHBOARD
   Dashboard CSS only
   ========================================================= */

body.dashboard-page {
    margin: 0;
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(180, 108, 255, 0.15),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 85%,
            rgba(125, 63, 193, 0.12),
            transparent 35%
        ),
        #07060b;

    color: #fff;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.dashboard-container {
    width: min(1150px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.dashboard-header {
    position: sticky;
    top: 0;
    z-index: 100;

    width: 100%;

    background: rgba(7, 6, 11, 0.78);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.dashboard-header .dashboard-container {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


/* =========================================================
   BRAND
   ========================================================= */

.dashboard-header .brand {
    color: #fff;

    font-size: 24px;
    font-weight: 900;

    letter-spacing: 1px;

    text-decoration: none;
}

.dashboard-header .brand span {
    color: #b46cff;
}


/* =========================================================
   LOGOUT
   ========================================================= */

.dashboard-logout {
    padding: 11px 20px;

    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 10px;

    background: rgba(255, 255, 255, 0.05);

    color: rgba(255, 255, 255, 0.8);

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition: 0.25s ease;
}

.dashboard-logout:hover {
    color: #fff;

    border-color: rgba(180, 108, 255, 0.5);

    background: rgba(180, 108, 255, 0.10);

    transform: translateY(-2px);

    box-shadow:
        0 8px 25px rgba(180, 108, 255, 0.15);
}


/* =========================================================
   MAIN
   ========================================================= */

.dashboard-main {
    min-height: calc(100vh - 78px);

    padding: 75px 0 100px;
}


/* =========================================================
   DASHBOARD HEADING
   ========================================================= */

.dashboard-heading {
    margin-bottom: 48px;
}

.dashboard-heading .admin-label {
    margin: 0 0 10px;

    color: #b46cff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    text-transform: uppercase;
}

.dashboard-heading h1 {
    margin: 0 0 10px;

    color: #fff;

    font-size: clamp(34px, 5vw, 52px);

    line-height: 1.05;

    letter-spacing: -1.5px;
}

.dashboard-heading > p:last-child {
    margin: 0;

    color: rgba(255, 255, 255, 0.50);

    font-size: 15px;
}


/* =========================================================
   DASHBOARD GRID
   ========================================================= */

.dashboard-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   DASHBOARD CARD
   ========================================================= */

.dashboard-card {
    position: relative;

    padding: 32px;

    min-height: 255px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.065),
            rgba(255, 255, 255, 0.025)
        );

    border: 1px solid rgba(255, 255, 255, 0.10);

    border-radius: 22px;

    overflow: hidden;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* subtle glow inside card */

.dashboard-card::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    top: -80px;
    right: -70px;

    border-radius: 50%;

    background: rgba(180, 108, 255, 0.12);

    filter: blur(30px);

    pointer-events: none;
}

.dashboard-card:hover {
    transform: translateY(-6px);

    border-color: rgba(180, 108, 255, 0.30);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.30),
        0 0 35px rgba(180, 108, 255, 0.07);
}


/* =========================================================
   CARD ICON
   ========================================================= */

.dashboard-card-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: rgba(180, 108, 255, 0.10);

    border: 1px solid rgba(180, 108, 255, 0.20);

    color: #c892ff;

    font-size: 23px;
    font-weight: 700;

    box-shadow:
        0 0 25px rgba(180, 108, 255, 0.08);
}


/* =========================================================
   CARD TITLE
   ========================================================= */

.dashboard-card h2 {
    margin: 0 0 9px;

    color: #fff;

    font-size: 21px;

    letter-spacing: -0.3px;
}


/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

.dashboard-card p {
    margin: 0;

    max-width: 360px;

    color: rgba(255, 255, 255, 0.50);

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================================
   DASHBOARD BUTTON
   ========================================================= */

.dashboard-button {
    margin-top: auto;

    min-width: 145px;

    padding: 12px 18px;

    border: 1px solid rgba(180, 108, 255, 0.25);

    border-radius: 10px;

    background: rgba(180, 108, 255, 0.10);

    color: #c994ff;

    font-family: inherit;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    transition: 0.25s ease;
}

.dashboard-button:hover {
    background: #b46cff;

    border-color: #b46cff;

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        0 10px 30px rgba(180, 108, 255, 0.25);
}

.dashboard-button:active {
    transform: translateY(0);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .dashboard-container {
        width: min(100% - 28px, 600px);
    }

    .dashboard-header .dashboard-container {
        min-height: 68px;
    }

    .dashboard-header .brand {
        font-size: 21px;
    }

    .dashboard-logout {
        padding: 9px 15px;
        font-size: 12px;
    }

    .dashboard-main {
        padding: 50px 0 70px;
    }

    .dashboard-heading {
        margin-bottom: 32px;
    }

    .dashboard-heading h1 {
        font-size: 34px;
    }

    .dashboard-heading > p:last-child {
        font-size: 14px;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .dashboard-card {
        min-height: 225px;
        padding: 25px;
        border-radius: 18px;
    }

    .dashboard-card-icon {
        width: 46px;
        height: 46px;
        margin-bottom: 20px;
    }

    .dashboard-card h2 {
        font-size: 19px;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .dashboard-container {
        width: calc(100% - 22px);
    }

    .dashboard-header .brand {
        font-size: 19px;
    }

    .dashboard-logout {
        padding: 8px 12px;
    }

    .dashboard-card {
        padding: 22px;
    }
}


/* =========================================================
   FOFANA TECH — ADMIN DASHBOARD
   Dashboard CSS only
   ========================================================= */

body.dashboard-page {
    margin: 0;
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(180, 108, 255, 0.15),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 85%,
            rgba(125, 63, 193, 0.12),
            transparent 35%
        ),
        #07060b;

    color: #fff;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.dashboard-container {
    width: min(1150px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.dashboard-header {
    position: sticky;
    top: 0;
    z-index: 100;

    width: 100%;

    background: rgba(7, 6, 11, 0.78);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.dashboard-header .dashboard-container {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


/* =========================================================
   BRAND
   ========================================================= */

.dashboard-header .brand {
    color: #fff;

    font-size: 24px;
    font-weight: 900;

    letter-spacing: 1px;

    text-decoration: none;
}

.dashboard-header .brand span {
    color: #b46cff;
}


/* =========================================================
   LOGOUT
   ========================================================= */

.dashboard-logout {
    padding: 11px 20px;

    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 10px;

    background: rgba(255, 255, 255, 0.05);

    color: rgba(255, 255, 255, 0.8);

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition: 0.25s ease;
}

.dashboard-logout:hover {
    color: #fff;

    border-color: rgba(180, 108, 255, 0.5);

    background: rgba(180, 108, 255, 0.10);

    transform: translateY(-2px);

    box-shadow:
        0 8px 25px rgba(180, 108, 255, 0.15);
}


/* =========================================================
   MAIN
   ========================================================= */

.dashboard-main {
    min-height: calc(100vh - 78px);

    padding: 75px 0 100px;
}


/* =========================================================
   DASHBOARD HEADING
   ========================================================= */

.dashboard-heading {
    margin-bottom: 48px;
}

.dashboard-heading .admin-label {
    margin: 0 0 10px;

    color: #b46cff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    text-transform: uppercase;
}

.dashboard-heading h1 {
    margin: 0 0 10px;

    color: #fff;

    font-size: clamp(34px, 5vw, 52px);

    line-height: 1.05;

    letter-spacing: -1.5px;
}

.dashboard-heading > p:last-child {
    margin: 0;

    color: rgba(255, 255, 255, 0.50);

    font-size: 15px;
}


/* =========================================================
   DASHBOARD GRID
   ========================================================= */

.dashboard-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   DASHBOARD CARD
   ========================================================= */

.dashboard-card {
    position: relative;

    padding: 32px;

    min-height: 255px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.065),
            rgba(255, 255, 255, 0.025)
        );

    border: 1px solid rgba(255, 255, 255, 0.10);

    border-radius: 22px;

    overflow: hidden;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* subtle glow inside card */

.dashboard-card::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    top: -80px;
    right: -70px;

    border-radius: 50%;

    background: rgba(180, 108, 255, 0.12);

    filter: blur(30px);

    pointer-events: none;
}

.dashboard-card:hover {
    transform: translateY(-6px);

    border-color: rgba(180, 108, 255, 0.30);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.30),
        0 0 35px rgba(180, 108, 255, 0.07);
}


/* =========================================================
   CARD ICON
   ========================================================= */

.dashboard-card-icon {
    width: 50px;
    height: 50px;

    margin-bottom: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: rgba(180, 108, 255, 0.10);

    border: 1px solid rgba(180, 108, 255, 0.20);

    color: #c892ff;

    font-size: 23px;
    font-weight: 700;

    box-shadow:
        0 0 25px rgba(180, 108, 255, 0.08);
}


/* =========================================================
   CARD TITLE
   ========================================================= */

.dashboard-card h2 {
    margin: 0 0 9px;

    color: #fff;

    font-size: 21px;

    letter-spacing: -0.3px;
}


/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

.dashboard-card p {
    margin: 0;

    max-width: 360px;

    color: rgba(255, 255, 255, 0.50);

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================================
   DASHBOARD BUTTON
   ========================================================= */

.dashboard-button {
    margin-top: auto;

    min-width: 145px;

    padding: 12px 18px;

    border: 1px solid rgba(180, 108, 255, 0.25);

    border-radius: 10px;

    background: rgba(180, 108, 255, 0.10);

    color: #c994ff;

    font-family: inherit;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    transition: 0.25s ease;
}

.dashboard-button:hover {
    background: #b46cff;

    border-color: #b46cff;

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        0 10px 30px rgba(180, 108, 255, 0.25);
}

.dashboard-button:active {
    transform: translateY(0);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .dashboard-container {
        width: min(100% - 28px, 600px);
    }

    .dashboard-header .dashboard-container {
        min-height: 68px;
    }

    .dashboard-header .brand {
        font-size: 21px;
    }

    .dashboard-logout {
        padding: 9px 15px;
        font-size: 12px;
    }

    .dashboard-main {
        padding: 50px 0 70px;
    }

    .dashboard-heading {
        margin-bottom: 32px;
    }

    .dashboard-heading h1 {
        font-size: 34px;
    }

    .dashboard-heading > p:last-child {
        font-size: 14px;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .dashboard-card {
        min-height: 225px;
        padding: 25px;
        border-radius: 18px;
    }

    .dashboard-card-icon {
        width: 46px;
        height: 46px;
        margin-bottom: 20px;
    }

    .dashboard-card h2 {
        font-size: 19px;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .dashboard-container {
        width: calc(100% - 22px);
    }

    .dashboard-header .brand {
        font-size: 19px;
    }

    .dashboard-logout {
        padding: 8px 12px;
    }

    .dashboard-card {
        padding: 22px;
    }
}


/* =========================================================
   ADD PROJECT PAGE
========================================================= */

.project-form-card {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 45px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 18px;
    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px);
}


/* =========================================================
   FORM
========================================================= */

#projectForm {
    width: 100%;
}

.project-form-group {
    margin-bottom: 28px;
}

.project-form-group label {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}


/* =========================================================
   INPUTS
========================================================= */

.project-form-group input[type="text"],
.project-form-group input[type="url"],
.project-form-group input[type="file"],
.project-form-group select,
.project-form-group textarea {
    width: 100%;
    box-sizing: border-box;

    padding: 14px 16px;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;

    background: rgba(0, 0, 0, 0.28);
    color: #ffffff;

    font-family: inherit;
    font-size: 0.95rem;

    outline: none;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


/* =========================================================
   TEXTAREA
========================================================= */

.project-form-group textarea {
    min-height: 150px;
    resize: vertical;
    line-height: 1.6;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.project-form-group input::placeholder,
.project-form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.38);
}


/* =========================================================
   FOCUS
========================================================= */

.project-form-group input:focus,
.project-form-group textarea:focus,
.project-form-group select:focus {
    border-color: rgba(180, 108, 255, 0.75);

    background: rgba(180, 108, 255, 0.045);

    box-shadow:
        0 0 0 3px rgba(180, 108, 255, 0.08),
        0 0 25px rgba(180, 108, 255, 0.08);
}


/* =========================================================
   SELECT
========================================================= */

.project-form-group select {
    cursor: pointer;
    appearance: auto;
}

.project-form-group select option {
    background: #111019;
    color: #ffffff;
}


/* =========================================================
   FILE INPUT
========================================================= */

.project-form-group input[type="file"] {
    cursor: pointer;
    padding: 12px;
}

.project-form-group input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 9px 14px;

    border: 1px solid rgba(180, 108, 255, 0.35);
    border-radius: 7px;

    background: rgba(180, 108, 255, 0.10);
    color: #ffffff;

    font-family: inherit;
    font-size: 0.85rem;

    cursor: pointer;
    transition: 0.25s ease;
}

.project-form-group input[type="file"]::file-selector-button:hover {
    background: rgba(180, 108, 255, 0.20);
    border-color: rgba(180, 108, 255, 0.65);
}


/* =========================================================
   SMALL HELP TEXT
========================================================= */

.project-form-group small {
    display: block;
    margin-top: 8px;

    color: rgba(255, 255, 255, 0.42);

    font-size: 0.78rem;
    line-height: 1.5;
}


/* =========================================================
   FEATURED CHECKBOX
========================================================= */

.project-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 5px 0 30px;
    padding: 16px;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;

    background: rgba(255, 255, 255, 0.025);
}

.project-checkbox input {
    width: 18px;
    height: 18px;

    margin: 0;

    accent-color: #b46cff;

    cursor: pointer;
}

.project-checkbox label {
    margin: 0;

    color: rgba(255, 255, 255, 0.75);

    font-size: 0.9rem;
    cursor: pointer;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.project-submit-button {
    width: 100%;
    margin-top: 10px;
    padding: 16px 25px;

    border: none;
    border-radius: 10px;

    font-size: 0.95rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        opacity 0.25s ease;
}

.project-submit-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(180, 108, 255, 0.20);
}

.project-submit-button:active {
    transform: translateY(0);
}


/* =========================================================
   MESSAGE
========================================================= */

#projectMessage {
    min-height: 22px;
    margin-top: 18px;

    text-align: center;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .project-form-card {
        padding: 28px 20px;
        border-radius: 14px;
    }

    .project-form-group {
        margin-bottom: 23px;
    }

    .project-form-group input[type="text"],
    .project-form-group input[type="url"],
    .project-form-group input[type="file"],
    .project-form-group select,
    .project-form-group textarea {
        padding: 13px 14px;
        font-size: 0.9rem;
    }

    .project-checkbox {
        align-items: flex-start;
    }

    .project-checkbox input {
        margin-top: 2px;
        flex-shrink: 0;
    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .project-form-card {
        padding: 22px 15px;
    }

    .project-form-group label {
        font-size: 0.88rem;
    }

    .project-form-group small {
        font-size: 0.74rem;
    }

    .project-submit-button {
        padding: 14px 20px;
    }

}


/* =========================================================
   CREATIVE SLIDER
   BROCHURE • PRESENTATION • EBOOK • CAROUSEL • PITCH DECK
========================================================= */

.full-width-slider {
    position: relative;

    width: 100%;
    height: 620px;

    overflow: hidden;

    border-radius: 32px;

    border: 1px solid rgba(255, 255, 255, 0.12);

    background: #050306;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.45),
        0 0 45px rgba(180, 108, 255, 0.06);
}


/* =========================================================
   SLIDER TRACK
========================================================= */

.full-width-slider .portfolio-slider-track {
    position: relative;

    width: 100%;
    height: 100%;
}


/* =========================================================
   CREATIVE SLIDE
========================================================= */

.full-width-slider .creative-slide {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    visibility: hidden;

    overflow: hidden;

    border-radius: 32px;

    transition: opacity 0.7s ease;
}


.full-width-slider .creative-slide.active {
    opacity: 1;
    visibility: visible;

    z-index: 2;
}


/* =========================================================
   IMAGE CONTAINER
========================================================= */

.full-width-slider .design-preview {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;

    border-radius: 32px;

    background: #050306;
}


/* =========================================================
   IMAGE
========================================================= */

.full-width-slider .creative-cover-image {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    /*
       THIS IS THE IMPORTANT CHANGE
    */
    object-fit: cover !important;

    object-position: center;

    border: none !important;

    border-radius: 32px;

    transition: transform 0.6s ease;
}


/* =========================================================
   IMAGE HOVER
========================================================= */

.full-width-slider .creative-slide:hover
.creative-cover-image {
    transform: scale(1.025);
}


/* =========================================================
   DARK IMAGE OVERLAY
========================================================= */

.full-width-slider .design-preview::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 2;

    pointer-events: none;

    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, 0.90) 0%,
            rgba(0, 0, 0, 0.62) 25%,
            rgba(0, 0, 0, 0.18) 58%,
            rgba(0, 0, 0, 0.02) 100%
        );
}


/* =========================================================
   SLIDE INFORMATION
========================================================= */

.full-width-slider .creative-slide-info {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    z-index: 5;

    width: 100%;

    padding: 55px 45px 40px;

    box-sizing: border-box;

    text-align: center;
}


/* =========================================================
   HIDE TITLE/DESCRIPTION
   Your current design intentionally uses only VIEW PAGES.
========================================================= */

.full-width-slider .creative-slide-info h3,
.full-width-slider .creative-slide-info > p {
    display: none !important;
}


/* =========================================================
   VIEW PAGES BUTTON
   GLASS / TRANSPARENT
========================================================= */

.full-width-slider .creative-page-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 52px;

    padding: 0 28px;

    box-sizing: border-box;

    border-radius: 50px;

    border: 1px solid rgba(255, 255, 255, 0.30);

    /*
       Transparent glass
    */
    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 8px 30px rgba(0, 0, 0, 0.30);

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================================================
   VIEW PAGES HOVER
========================================================= */

.full-width-slider .creative-page-link:hover {

    background: rgba(180, 108, 255, 0.18);

    border-color: rgba(180, 108, 255, 0.65);

    transform: translateY(-3px);

    box-shadow:
        0 12px 35px rgba(180, 108, 255, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.20);
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.full-width-slider .slider-prev,
.full-width-slider .slider-next {

    position: absolute;

    top: 50%;

    z-index: 10;

    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    transform: translateY(-50%);

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, 0.18);

    background: rgba(0, 0, 0, 0.42);

    color: #ffffff;

    font-size: 20px;

    cursor: pointer;

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


.full-width-slider .slider-prev {
    left: 22px;
}


.full-width-slider .slider-next {
    right: 22px;
}


.full-width-slider .slider-prev:hover,
.full-width-slider .slider-next:hover {

    background: rgba(180, 108, 255, 0.25);

    border-color: rgba(180, 108, 255, 0.50);

    transform: translateY(-50%) scale(1.08);
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.full-width-slider .slide-placeholder {

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    color: rgba(255, 255, 255, 0.35);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 3px;
}


/* =========================================================
   LEARN MORE BUTTON
========================================================= */

.service-action {

    display: flex;

    justify-content: center;

    margin-top: 30px;
}


.learn-more {

    min-height: 52px;

    padding: 0 28px;

    border-radius: 50px;

    border: 1px solid rgba(255, 255, 255, 0.15);

    background: rgba(255, 255, 255, 0.05);

    color: #ffffff;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 2px;

    cursor: pointer;

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}


.learn-more:hover {

    transform: translateY(-3px);

    background: rgba(180, 108, 255, 0.18);

    border-color: rgba(180, 108, 255, 0.35);
}


/* =========================================================
   SERVICE INFORMATION
========================================================= */

.service-information {

    max-width: 850px;

    margin: 30px auto 0;

    padding: 35px;

    border: 1px solid rgba(255, 255, 255, 0.10);

    border-radius: 24px;

    background: rgba(255, 255, 255, 0.04);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}


.service-information h3 {

    margin-bottom: 15px;

    color: #b46cff;

    font-size: 20px;
}


.service-information p {

    color: rgba(255, 255, 255, 0.62);

    line-height: 1.8;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .full-width-slider {

        height: 520px;

        border-radius: 28px;
    }


    .full-width-slider .creative-slide,
    .full-width-slider .design-preview,
    .full-width-slider .creative-cover-image {

        border-radius: 28px;
    }


    .full-width-slider .creative-slide-info {

        padding: 40px 20px 28px;
    }


    .full-width-slider .creative-page-link {

        min-width: 170px;

        min-height: 50px;

        padding: 0 23px;

        font-size: 11px;
    }


    .full-width-slider .slider-prev,
    .full-width-slider .slider-next {

        width: 50px;
        height: 50px;
    }


    .full-width-slider .slider-prev {
        left: 12px;
    }


    .full-width-slider .slider-next {
        right: 12px;
    }
}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .full-width-slider {

        height: 470px;

        border-radius: 24px;
    }


    .full-width-slider .creative-slide,
    .full-width-slider .design-preview,
    .full-width-slider .creative-cover-image {

        border-radius: 24px;
    }


    .full-width-slider .creative-slide-info {

        padding: 35px 15px 22px;
    }


    .full-width-slider .creative-page-link {

        min-width: 155px;

        min-height: 48px;

        padding: 0 20px;
    }


    .full-width-slider .slider-prev,
    .full-width-slider .slider-next {

        width: 44px;
        height: 44px;

        font-size: 16px;
    }

}


/* =========================================================
   VIEW PAGES — BOTTOM CENTER OF IMAGE
========================================================= */

.full-width-slider .creative-slide-info {
    position: absolute !important;
    left: 50% !important;
    bottom: 35px !important;
    top: auto !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    z-index: 20 !important;
    text-align: center !important;
}

.full-width-slider .creative-page-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 155px !important;
    height: 54px !important;
    padding: 0 28px !important;

    border-radius: 40px !important;
    background: rgba(20, 15, 25, 0.50) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;

    color: #fff !important;
    white-space: nowrap !important;

    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
}


/* =========================================================
   PROJECT GALLERY — TWO IMAGES PER ROW
========================================================= */

.project-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    margin-top: 35px !important;
}

.project-gallery-item {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.project-gallery-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 24px !important;
}


 /* =========================================================
    PROJECT PAGE FOOTER — FULL WIDTH WHITE
 ========================================================= */

.project-detail-page {
    min-height: calc(100vh - 80px);
}

body > .footer {
    width: 100% !important;
    background: #ffffff !important;
    color: #09070f !important;
    margin-top: 80px !important;
    padding: 70px 30px 40px !important;
    border-top: none !important;
}

body > .footer *,
body > .footer p,
body > .footer h2,
body > .footer h3,
body > .footer a,
body > .footer span {
    color: #09070f !important;
}

body > .footer a:hover {
    color: #7b2cbf !important;
}

@media (max-width: 700px) {
    body > .footer {
        padding: 50px 20px 30px !important;
        margin-top: 60px !important;
    }
}


/* =========================================================
   PROJECT PAGE NAVIGATION
========================================================= */

.project-navbar {
    position: relative;
    z-index: 100;
}

.project-navbar .menu-toggle {
    width: 58px !important;
    height: 58px !important;
    padding: 14px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;

    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 18px !important;

    background: rgba(255,255,255,0.06) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;

    cursor: pointer !important;
}

.project-navbar .menu-toggle span {
    display: block !important;
    width: 30px !important;
    height: 4px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}


/* Hide project loading message */
#projectLoading {
    display: none !important;
}


/* =========================================================
   PROJECT PAGE — CLEAN TOP SECTION
========================================================= */

.project-detail {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 90px 40px 70px !important;
}

.project-detail > .section-label {
    margin-bottom: 18px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 5px !important;
    color: #b46cff !important;
}

.project-detail-title {
    max-width: 900px !important;
    margin: 0 0 22px !important;

    font-size: clamp(42px, 6vw, 76px) !important;
    line-height: 1.05 !important;
    letter-spacing: -2px !important;
}

.project-detail-description {
    max-width: 760px !important;
    margin: 0 0 70px !important;

    font-size: 18px !important;
    line-height: 1.8 !important;
    color: rgba(255,255,255,0.65) !important;
}

.project-pages {
    width: 100% !important;
}

.project-pages .section-heading {
    margin-bottom: 30px !important;
}

.project-pages .section-label {
    margin-bottom: 8px !important;
}

.project-pages .section-heading h2 {
    margin: 0 !important;
    font-size: clamp(32px, 5vw, 52px) !important;
    line-height: 1.1 !important;
}


/* =========================================================
   BACK TO MY WORK — SMALL BUTTON
========================================================= */

.project-back {
    display: flex !important;
    justify-content: center !important;
    margin-top: 45px !important;
}

.project-back .secondary-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 24px !important;

    border-radius: 30px !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;

    white-space: nowrap !important;
}


/* =========================================================
   PROJECT FOOTER — NAVIGATION & SERVICES SEPARATORS
========================================================= */

/* NAVIGATION */
.footer-column:nth-child(2) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
}

.footer-column:nth-child(2) h4 {
    width: 100% !important;
    margin-bottom: 15px !important;
}

.footer-column:nth-child(2) a {
    display: inline-flex !important;
    align-items: center !important;
    color: #09070f !important;
}

.footer-column:nth-child(2) a:not(:last-child)::after {
    content: "|" !important;
    display: inline-block !important;
    margin: 0 10px !important;
    color: #09070f !important;
}


/* SERVICES */
.footer-column:nth-child(3) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
}

.footer-column:nth-child(3) h4 {
    width: 100% !important;
    margin-bottom: 15px !important;
}

.footer-column:nth-child(3) a {
    display: inline-flex !important;
    align-items: center !important;
    color: #09070f !important;
}

.footer-column:nth-child(3) a:not(:last-child)::after {
    content: "|" !important;
    display: inline-block !important;
    margin: 0 10px !important;
    color: #09070f !important;
}


/* =========================================================
   QUALITY DELIVERY — CENTER
========================================================= */

.quality-delivery-wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    position: relative !important;
    left: auto !important;
    right: auto !important;

    margin: 50px auto !important;
}

.quality-delivery-badge {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin: 0 auto !important;

    animation: qualityFloat 1s ease-in-out infinite alternate !important;
}


/* =========================================================
   DESKTOP FLOATING LOGO
========================================================= */

@media (min-width: 769px) {

    .hero-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .hero-content {
        width: 100% !important;
    }

    .floating-logo {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        margin-top: 35px !important;

        animation-name: desktopFloatingLogo !important;
        animation-duration: 2.5s !important;
        animation-timing-function: ease-in-out !important;
        animation-iteration-count: infinite !important;
        animation-direction: alternate !important;
        animation-fill-mode: both !important;
    }

}


/* =========================================================
   DESKTOP LOGO MOVEMENT
========================================================= */

@keyframes desktopFloatingLogo {

    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-25px);
    }

}


/* =========================================================
   100% QUALITY DELIVERY — RAINBOW GLASS BADGE
========================================================= */

.quality-delivery-wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    margin: 60px auto !important;
}


/* MAIN BADGE */

.quality-delivery-badge {
    position: relative !important;

    width: 300px !important;
    height: 300px !important;

    border-radius: 50% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background:
        rgba(255,255,255,0.055) !important;

    backdrop-filter:
        blur(20px) !important;

    -webkit-backdrop-filter:
        blur(20px) !important;

    box-shadow:
        0 25px 80px rgba(0,0,0,0.45),
        inset 0 1px 2px rgba(255,255,255,0.15) !important;

    animation:
        qualityBadgeFloat 2.5s ease-in-out infinite alternate !important;

    isolation: isolate !important;
}


/* RAINBOW OUTER EDGE */

.quality-delivery-badge::before {
    content: "" !important;

    position: absolute !important;

    inset: -4px !important;

    border-radius: 50% !important;

    background:
        conic-gradient(
            from 0deg,
            #ff004c,
            #ff7a00,
            #ffe600,
            #39ff14,
            #00e5ff,
            #0066ff,
            #7a00ff,
            #ff00d4,
            #ff004c
        ) !important;

    z-index: -2 !important;

    animation:
        rainbowEdge 4s linear infinite !important;

    filter:
        drop-shadow(0 0 12px rgba(255,0,200,0.45))
        drop-shadow(0 0 25px rgba(0,200,255,0.25)) !important;
}


/* INNER DARK GLASS */

.quality-delivery-badge::after {
    content: "" !important;

    position: absolute !important;

    inset: 5px !important;

    border-radius: 50% !important;

    background:
        rgba(8,5,13,0.92) !important;

    border:
        1px solid rgba(255,255,255,0.10) !important;

    z-index: -1 !important;
}


/* MAKE THE EXISTING TEXT SIT ABOVE THE EFFECT */

.quality-delivery-badge > * {
    position: relative !important;
    z-index: 5 !important;
}


/* =========================================================
   RAINBOW EDGE ROTATION
========================================================= */

@keyframes rainbowEdge {

    0% {
        transform: rotate(0deg);
    }

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

}


/* =========================================================
   GENTLE UP / DOWN FLOAT
========================================================= */

@keyframes qualityBadgeFloat {

    0% {
        transform: translateY(0);
    }

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

}


/* =========================================================
   QUALITY DELIVERY — LARGE TEXT
========================================================= */

.quality-delivery-badge {
    flex-direction: column !important;
    text-align: center !important;
}


/* 100% */

.quality-delivery-badge strong {
    display: block !important;

    font-size: 64px !important;
    font-weight: 950 !important;
    line-height: 0.95 !important;
    letter-spacing: -2px !important;

    margin-bottom: 8px !important;

    color: #ffffff !important;

    text-shadow:
        0 0 12px rgba(180,108,255,0.8),
        0 0 30px rgba(0,220,255,0.35) !important;
}


/* QUALITY */

.quality-delivery-badge span:nth-of-type(1) {
    display: block !important;

    font-size: 28px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: 3px !important;

    color: #ffffff !important;

    text-shadow:
        0 0 12px rgba(180,108,255,0.7) !important;
}


/* DELIVERY */

.quality-delivery-badge span:nth-of-type(2) {
    display: block !important;

    margin-top: 10px !important;

    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 6px !important;

    color: rgba(255,255,255,0.9) !important;
}


/* =========================================================
   PROJECT PAGE — MOBILE MENU FIX
========================================================= */

@media (max-width: 768px) {

    /* Keep everything inside the screen */
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Header stays inside viewport */
    .project-navbar {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .project-navbar .nav-container {
        width: 100% !important;
        max-width: 100% !important;

        padding-left: 20px !important;
        padding-right: 20px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* FOFANA stays safely inside the left side */
    .project-navbar .brand {
        position: relative !important;

        left: auto !important;
        right: auto !important;

        margin: 0 !important;

        white-space: nowrap !important;

        flex-shrink: 1 !important;

        font-size: 26px !important;
    }

    /* Hamburger stays on the right */
    .project-navbar .menu-toggle {
        position: relative !important;

        right: auto !important;
        left: auto !important;

        flex-shrink: 0 !important;

        width: 58px !important;
        height: 58px !important;
    }

    /* Mobile menu */
    .project-navbar .nav-menu {
        position: absolute !important;

        top: 100% !important;

        left: 20px !important;
        right: 20px !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 18px 22px !important;

        display: flex !important;
        flex-direction: column !important;

        background: rgba(8, 5, 13, 0.97) !important;

        border: 1px solid rgba(255,255,255,0.12) !important;
        border-radius: 22px !important;

        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;

        box-shadow:
            0 25px 70px rgba(0,0,0,0.5) !important;

        z-index: 999 !important;
    }

    .project-navbar .nav-menu a {
        width: 100% !important;

        padding: 17px 8px !important;

        margin: 0 !important;

        border-bottom:
            1px solid rgba(255,255,255,0.08) !important;

        text-align: left !important;
    }

    .project-navbar .nav-menu a:last-child {
        border-bottom: none !important;
    }

}


/* =========================================================
   PROJECT PAGE NAVIGATION
========================================================= */


/* =========================
   DESKTOP
========================= */

@media (min-width: 769px) {

    .project-navbar .nav-menu {
        display: flex !important;

        position: static !important;

        width: auto !important;
        height: auto !important;

        padding: 0 !important;
        margin: 0 !important;

        flex-direction: row !important;
        align-items: center !important;

        background: transparent !important;

        border: none !important;

        box-shadow: none !important;

        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }


    /* NO HAMBURGER ON DESKTOP */

    .project-navbar .menu-toggle {
        display: none !important;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .project-navbar .nav-container {
        width: 100% !important;
        max-width: 100% !important;

        padding-left: 20px !important;
        padding-right: 20px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;
    }


    /* FOFANA */

    .project-navbar .brand {
        position: relative !important;

        left: auto !important;
        right: auto !important;

        margin: 0 !important;

        white-space: nowrap !important;

        flex-shrink: 1 !important;

        font-size: 26px !important;
    }


    /* HAMBURGER */

    .project-navbar .menu-toggle {
        display: flex !important;

        position: relative !important;

        left: auto !important;
        right: auto !important;

        flex-shrink: 0 !important;

        width: 58px !important;
        height: 58px !important;

        padding: 14px !important;

        flex-direction: column !important;

        justify-content: center !important;
        align-items: center !important;

        gap: 6px !important;

        border-radius: 18px !important;

        border: 1px solid rgba(255,255,255,0.22) !important;

        background: rgba(255,255,255,0.06) !important;

        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;

        cursor: pointer !important;
    }


    .project-navbar .menu-toggle span {
        display: block !important;

        width: 30px !important;
        height: 4px !important;

        border-radius: 10px !important;

        background: #fff !important;
    }


    /* MENU CLOSED */

    .project-navbar .nav-menu {
        display: none !important;

        position: absolute !important;

        top: 100% !important;

        left: 20px !important;
        right: 20px !important;

        width: auto !important;

        margin: 0 !important;

        padding: 18px 22px !important;

        flex-direction: column !important;

        background: rgba(8,5,13,0.97) !important;

        border: 1px solid rgba(255,255,255,0.12) !important;

        border-radius: 22px !important;

        box-shadow:
            0 25px 70px rgba(0,0,0,0.5) !important;

        backdrop-filter: blur(25px) !important;
        -webkit-backdrop-filter: blur(25px) !important;

        z-index: 999 !important;
    }


    /* MENU OPEN */

    .project-navbar .nav-menu.mobile-menu-open {
        display: flex !important;
    }


    /* MENU LINKS */

    .project-navbar .nav-menu a {
        width: 100% !important;

        padding: 17px 8px !important;

        margin: 0 !important;

        text-align: left !important;

        border-bottom:
            1px solid rgba(255,255,255,0.08) !important;
    }


    .project-navbar .nav-menu a:last-child {
        border-bottom: none !important;
    }

}


/* =========================================================
   PROJECT HEADER — FIXED WHILE SCROLLING
========================================================= */

.project-navbar {
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: auto !important;

    z-index: 9999 !important;

    background: rgba(8, 5, 13, 0.88) !important;

    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;

    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}


/* Keep page content from going underneath header */

.project-detail-page {
    padding-top: 100px !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .project-navbar .nav-container {
        min-height: 76px !important;
    }

}


/* =========================================================
   DESKTOP — NO HAMBURGER
========================================================= */

@media (min-width: 769px) {

    .project-navbar .menu-toggle {
        display: none !important;
    }

}


/* =========================================================
   MAIN WEBSITE HEADER — STAY FIXED WHILE SCROLLING
   ========================================================= */

body > .navbar:not(.project-navbar) {
    position: fixed !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;

    z-index: 9999 !important;

    background: rgba(8, 5, 13, 0.88) !important;

    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;

    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}


/* =========================================================
   CLIENT PROJECTS DASHBOARD CARD
========================================================= */

.client-projects-dashboard-card {
    position: relative;
}

.client-projects-dashboard-card
.dashboard-card-icon {
    font-size: 32px;
    margin-bottom: 18px;
}

.client-projects-dashboard-card h2 {
    margin-bottom: 10px;
}

.client-projects-dashboard-card p {
    line-height: 1.7;
    color: rgba(255,255,255,0.62);
}


/* =========================================================
   CLIENT CHAT
========================================================= */

.client-chat-box {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.client-chat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.client-chat-header strong {
    display: block;
    font-size: 16px;
}

.client-chat-header span {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    opacity: 0.65;
}

.client-chat-header .chat-status {
    color: #16803c;
    font-size: 12px;
    margin: 0;
}

.client-chat-messages {
    height: 420px;
    overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #fafafa;
}

.chat-empty-state {
    margin: auto;
    text-align: center;
    color: #777;
}

.chat-message {
    max-width: 75%;
    padding: 12px 15px;
    border-radius: 15px;
    line-height: 1.5;
    word-wrap: break-word;
}

.chat-message.client {
    align-self: flex-end;
    background: #111;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.chat-message.admin {
    align-self: flex-start;
    background: #fff;
    color: #222;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom-left-radius: 4px;
}

.chat-message-text {
    margin: 0;
}

.chat-message-time {
    display: block;
    margin-top: 6px;
    font-size: 10px;
    opacity: 0.6;
}

.client-chat-form {
    display: flex;
    gap: 10px;
    padding: 18px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.client-chat-form input {
    flex: 1;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    outline: none;
}

.client-chat-form input:focus {
    border-color: #111;
}

.client-chat-form button {
    white-space: nowrap;
}

@media (max-width: 600px) {

    .client-chat-messages {
        height: 350px;
        padding: 16px;
    }

    .chat-message {
        max-width: 88%;
    }

    .client-chat-form {
        padding: 12px;
    }

}


/* =========================================================
   CHAT ATTACHMENT PREVIEW
========================================================= */

.chat-attachment-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #111;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.attachment-preview-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1c1c1c;
    border-radius: 10px;
    font-size: 20px;
    flex-shrink: 0;
}

.attachment-preview-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    flex: 1;
}

.attachment-preview-info strong {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.attachment-preview-info span {
    color: #888;
    font-size: 11px;
}

.remove-attachment-button {
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    color: #aaa;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
    transition: 0.2s ease;
}

.remove-attachment-button:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}


/* =========================================================
   CHAT ATTACHMENT BUTTON
========================================================= */

.chat-attachment-button {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: #aaa;
    font-size: 21px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.2s ease;
}

.chat-attachment-button:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}


/* =========================================================
   MOBILE CHAT ATTACHMENT
========================================================= */

@media (max-width: 600px) {

    .chat-attachment-preview {
        padding: 9px 10px;
        gap: 9px;
    }

    .attachment-preview-icon {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .attachment-preview-info strong {
        font-size: 12px;
    }

    .attachment-preview-info span {
        font-size: 10px;
    }

    .chat-attachment-button {
        width: 38px;
        height: 38px;
        font-size: 19px;
    }

}


/* =========================================================
   CLIENT CHAT FORM
========================================================= */

.client-chat-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;

    width: 100%;
    box-sizing: border-box;

    padding: 16px;

    border-top: 1px solid rgba(0, 0, 0, 0.08);

    background: #ffffff;
}


/* =========================================================
   CHAT TEXT AREA
========================================================= */

.client-chat-form textarea {
    flex: 1;

    width: 100%;
    min-width: 0;

    min-height: 48px;
    max-height: 140px;

    box-sizing: border-box;

    padding: 13px 15px;

    border: 1px solid rgba(0, 0, 0, 0.15);

    border-radius: 12px;

    background: #ffffff;

    color: #111111;

    caret-color: #111111;

    font-family: inherit;

    font-size: 15px;

    line-height: 1.45;

    outline: none;

    resize: none;

    overflow-y: auto;
}


.client-chat-form textarea::placeholder {
    color: #999999;
    opacity: 1;
}


.client-chat-form textarea:focus {
    border-color: #111111;

    box-shadow:
        0 0 0 3px
        rgba(0, 0, 0, 0.06);
}


.client-chat-form textarea:disabled {
    opacity: 0.6;

    cursor: not-allowed;
}


/* =========================================================
   SEND BUTTON
========================================================= */

.client-chat-form button {
    flex-shrink: 0;

    width: auto;
    min-width: 82px;

    height: 48px;

    padding: 0 16px;

    border: none;

    border-radius: 12px;

    font-family: inherit;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    white-space: nowrap;
}


.client-chat-form button:disabled {
    opacity: 0.6;

    cursor: not-allowed;
}


/* =========================================================
   MOBILE CHAT FORM
========================================================= */

@media (max-width: 600px) {

    .client-chat-form {

        gap: 8px;

        padding: 12px;

        align-items: flex-end;

    }


    .client-chat-form textarea {

        min-height: 46px;

        max-height: 110px;

        padding: 12px 13px;

        border-radius: 10px;

        font-size: 14px;

        line-height: 1.4;

    }


    .client-chat-form button {

        min-width: 68px;

        width: 68px;

        height: 46px;

        padding: 0;

        border-radius: 10px;

        font-size: 11px;

    }

}


/* =====================================================
   CLIENT MESSAGES PAGE
====================================================== */

.client-messages-page {
    min-height: 100vh;
    width: 100%;

    padding: 30px 20px 50px;

    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #ffffff 100%
        );

    color: #111827;

    box-sizing: border-box;
}


/* =====================================================
   HEADER
====================================================== */

.client-messages-header {
    width: 100%;
    max-width: 900px;

    margin: 0 auto 25px;

    display: flex;
    align-items: center;

    gap: 16px;
}


.client-messages-back {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    border: 1px solid #e5e7eb;
    border-radius: 12px;

    background: #ffffff;

    color: #111827;

    font-size: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.client-messages-back:hover {
    background: #f3f4f6;

    transform: translateX(-2px);
}


.client-messages-title {
    min-width: 0;
}


.client-messages-title h1 {
    margin: 0;

    font-size: 26px;
    font-weight: 800;

    line-height: 1.2;
}


.client-messages-title p {
    margin: 5px 0 0;

    color: #6b7280;

    font-size: 14px;
}


/* =====================================================
   SEARCH
====================================================== */

.client-messages-search {
    width: 100%;
    max-width: 900px;

    margin: 0 auto 20px;
}


.client-messages-search input {
    width: 100%;

    height: 48px;

    padding: 0 16px;

    border: 1px solid #e5e7eb;
    border-radius: 13px;

    background: #ffffff;

    color: #111827;

    font-size: 14px;

    outline: none;

    box-sizing: border-box;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.client-messages-search input:focus {
    border-color: #111827;

    box-shadow:
        0 0 0 3px
        rgba(17, 24, 39, 0.08);
}


.client-messages-search input::placeholder {
    color: #9ca3af;
}


/* =====================================================
   CLIENT LIST
====================================================== */

.client-messages-list {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    display: flex;
    flex-direction: column;

    gap: 10px;
}


/* =====================================================
   CLIENT CARD
====================================================== */

.client-message-card {
    width: 100%;

    min-height: 78px;

    padding: 12px 15px;

    border: 1px solid #e5e7eb;
    border-radius: 16px;

    background: #ffffff;

    display: flex;
    align-items: center;

    gap: 13px;

    text-align: left;

    cursor: pointer;

    box-sizing: border-box;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.client-message-card:hover {
    transform: translateY(-1px);

    border-color: #d1d5db;

    background: #fafafa;

    box-shadow:
        0 6px 20px
        rgba(0, 0, 0, 0.06);
}


.client-message-card:active {
    transform: scale(0.99);
}


/* =====================================================
   AVATAR
====================================================== */

.client-message-avatar {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #111827;

    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 17px;
    font-weight: 700;
}


/* =====================================================
   CLIENT INFORMATION
====================================================== */

.client-message-info {
    min-width: 0;

    flex: 1;

    display: flex;
    flex-direction: column;

    gap: 2px;
}


.client-message-info strong {
    color: #111827;

    font-size: 15px;
    font-weight: 700;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


.client-message-email {
    color: #9ca3af;

    font-size: 11px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


.client-message-preview {
    margin-top: 3px;

    color: #6b7280;

    font-size: 13px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* =====================================================
   MESSAGE META
====================================================== */

.client-message-meta {
    min-width: 70px;

    align-self: stretch;

    display: flex;
    flex-direction: column;

    align-items: flex-end;
    justify-content: center;

    gap: 7px;
}


.client-message-meta time {
    color: #9ca3af;

    font-size: 10px;

    white-space: nowrap;
}


/* =====================================================
   UNREAD COUNT
====================================================== */

.client-message-unread {
    min-width: 21px;
    height: 21px;

    padding: 0 6px;

    border-radius: 50%;

    background: #111827;

    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 10px;
    font-weight: 700;

    box-sizing: border-box;
}


/* =====================================================
   LOADING
====================================================== */

.client-messages-loading {
    min-height: 220px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;
}


.client-messages-loading-icon {
    width: 55px;
    height: 55px;

    margin-bottom: 12px;

    border-radius: 50%;

    background: #f3f4f6;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 24px;
}


.client-messages-loading p {
    margin: 0;

    color: #6b7280;

    font-size: 14px;
}


/* =====================================================
   EMPTY STATE
====================================================== */

.client-messages-empty {
    min-height: 300px;

    padding: 40px 20px;

    border: 1px solid #e5e7eb;
    border-radius: 18px;

    background: #ffffff;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    box-sizing: border-box;
}


.client-messages-empty-icon {
    font-size: 42px;

    margin-bottom: 12px;
}


.client-messages-empty h2 {
    margin: 0;

    font-size: 20px;
}


.client-messages-empty p {
    margin: 7px 0 0;

    color: #6b7280;

    font-size: 14px;
}


/* =====================================================
   ERROR
====================================================== */

.client-messages-error {
    width: 100%;
    max-width: 900px;

    margin: 15px auto 0;

    padding: 12px 15px;

    border-radius: 12px;

    background: #fef2f2;

    border: 1px solid #fecaca;

    color: #b91c1c;

    font-size: 13px;

    box-sizing: border-box;
}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 600px) {

    .client-messages-page {
        padding:
            20px 12px
            35px;
    }


    .client-messages-header {
        margin-bottom: 20px;

        gap: 11px;
    }


    .client-messages-back {
        width: 40px;
        height: 40px;

        border-radius: 11px;

        font-size: 22px;
    }


    .client-messages-title h1 {
        font-size: 21px;
    }


    .client-messages-title p {
        font-size: 12px;
    }


    .client-messages-search {
        margin-bottom: 14px;
    }


    .client-messages-search input {
        height: 46px;

        border-radius: 12px;
    }


    .client-message-card {
        min-height: 72px;

        padding: 10px 11px;

        border-radius: 14px;

        gap: 10px;
    }


    .client-message-avatar {
        width: 43px;
        height: 43px;

        font-size: 15px;
    }


    .client-message-info strong {
        font-size: 14px;
    }


    .client-message-email {
        font-size: 10px;
    }


    .client-message-preview {
        font-size: 12px;
    }


    .client-message-meta {
        min-width: 52px;

        gap: 5px;
    }


    .client-message-meta time {
        font-size: 9px;
    }


    .client-message-unread {
        min-width: 19px;
        height: 19px;

        font-size: 9px;
    }

}


/* =====================================================
   ADMIN CLIENT CHAT
===================================================== */

.admin-chat-page {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    color: #111827;
    overflow: hidden;
}


.admin-chat-header {
    flex-shrink: 0;
    height: 76px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 20px;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    box-sizing: border-box;
    z-index: 10;
}


.admin-chat-back {
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #f3f4f6;
    color: #111827;
    font-size: 24px;
    cursor: pointer;
}


.admin-chat-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}


.admin-chat-avatar {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #111827;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
}


.admin-chat-profile h1 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}


.admin-chat-profile p {
    margin: 3px 0 0;
    font-size: 11px;
    color: #6b7280;
    font-weight: 700;
    letter-spacing: .5px;
}


.admin-chat-messages {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 24px 20px 28px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    box-sizing: border-box;
}


.admin-chat-message {
    display: flex;
    width: 100%;
}


.admin-chat-message.admin {
    justify-content: flex-start;
}


.admin-chat-message.client {
    justify-content: flex-end;
}


.admin-chat-bubble {
    max-width: min(70%, 620px);
    padding: 10px 13px 7px;
    border-radius: 15px;
    box-sizing: border-box;
}


.admin-chat-message.admin .admin-chat-bubble {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-top-left-radius: 5px;
}


.admin-chat-message.client .admin-chat-bubble {
    background: #dcf8c6;
    border-top-right-radius: 5px;
}


.admin-chat-text {
    font-size: 14px;
    line-height: 1.5;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}


.admin-chat-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 10px;
    color: #6b7280;
}


.admin-chat-status {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -2px;
}


.admin-chat-status.seen {
    color: #34b7f1;
}


.admin-chat-status.delivered {
    color: #6b7280;
}


.admin-chat-status.sent {
    color: #6b7280;
}


.admin-chat-composer {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding: 12px 16px;
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    box-sizing: border-box;
    z-index: 20;
}


.admin-chat-composer textarea {
    flex: 1;
    min-width: 0;
    max-height: 120px;
    min-height: 44px;
    resize: none;
    border: 1px solid #d1d5db;
    border-radius: 22px;
    padding: 12px 16px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}


.admin-chat-composer textarea:focus {
    border-color: #111827;
}


.admin-chat-composer button {
    height: 44px;
    padding: 0 18px;
    border: none;
    border-radius: 22px;
    background: #111827;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}


.admin-chat-composer button:disabled {
    opacity: .55;
    cursor: not-allowed;
}


.admin-chat-loading,
.admin-chat-empty {
    margin: auto;
    color: #6b7280;
    font-size: 14px;
    text-align: center;
}


.admin-chat-error {
    display: none;
    flex-shrink: 0;
    padding: 8px 16px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 13px;
    text-align: center;
}


@media (max-width: 600px) {

    .admin-chat-header {
        height: 68px;
        padding: 0 14px;
    }


    .admin-chat-avatar {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }


    .admin-chat-profile h1 {
        font-size: 15px;
    }


    .admin-chat-messages {
        padding: 18px 12px 22px;
    }


    .admin-chat-bubble {
        max-width: 82%;
    }


    .admin-chat-composer {
        padding: 9px 10px;
    }


    .admin-chat-composer button {
        padding: 0 14px;
    }

}


/* =====================================================
   ADMIN CHAT — KEYBOARD + EXPANDING COMPOSER
===================================================== */

.admin-chat-page {
    height: var(
        --admin-chat-viewport-height,
        100dvh
    );

    top: var(
        --admin-chat-viewport-top,
        0px
    );
}


/* Keep the header fixed within the visible chat area */
.admin-chat-header {
    flex-shrink: 0;
}


/* Chat area must remain independently scrollable */
.admin-chat-messages {
    min-height: 0;
    overflow-y: auto;
}


/* Expanding message box */
.admin-chat-composer textarea {
    min-height: 44px;
    max-height: 140px;
    overflow-y: auto;
    line-height: 1.45;
}


/* =====================================================
   CLIENT PROFILE
===================================================== */

.client-profile-page {
    min-height: 100vh;
    width: 100%;
    box-sizing: border-box;
    background: #000000;
    color: #ffffff;
    padding: 24px 20px 50px;
}


.client-profile-header {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    gap: 16px;
}


.client-profile-header h1 {
    margin: 0;
    color: #ffffff;
    font-size: 22px;
}


.client-profile-back {
    width: 44px;
    height: 44px;
    border: 1px solid #333333;
    border-radius: 50%;
    background: #111111;
    color: #ffffff;
    font-size: 23px;
    cursor: pointer;
}


.client-profile-card {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 35px 25px;
    box-sizing: border-box;
    background: #0b0b0b;
    border: 1px solid #222222;
    border-radius: 20px;
    text-align: center;
}


.client-profile-avatar {
    width: 96px;
    height: 96px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #ffffff;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 800;
}


.client-profile-card h2 {
    margin: 0;
    color: #ffffff;
    font-size: 25px;
}


.client-profile-role {
    margin-top: 8px;
    color: #aaaaaa;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


.client-profile-details {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 1px;
    border: 1px solid #222222;
    border-radius: 14px;
    overflow: hidden;
    text-align: left;
}


.client-profile-detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 17px 18px;
    background: #111111;
    border-bottom: 1px solid #222222;
}


.client-profile-detail:last-child {
    border-bottom: none;
}


.client-profile-detail span {
    color: #888888;
    font-size: 13px;
}


.client-profile-detail strong {
    color: #ffffff;
    font-size: 14px;
    text-align: right;
    overflow-wrap: anywhere;
}


.client-profile-error {
    display: none;
    margin-top: 20px;
    padding: 12px 15px;
    border-radius: 10px;
    background: #2a0d0d;
    color: #ff8080;
    font-size: 13px;
}


@media (max-width: 600px) {

    .client-profile-page {
        padding: 18px 14px 40px;
    }


    .client-profile-header {
        margin-bottom: 20px;
    }


    .client-profile-header h1 {
        font-size: 18px;
    }


    .client-profile-card {
        padding: 28px 16px;
        border-radius: 16px;
    }


    .client-profile-avatar {
        width: 82px;
        height: 82px;
        font-size: 29px;
    }


    .client-profile-card h2 {
        font-size: 21px;
    }


    .client-profile-detail {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }


    .client-profile-detail strong {
        text-align: left;
    }

}


/* =====================================================
   ADMIN PROFILE — ABOUT EDITOR
===================================================== */

.admin-profile-about-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}


.admin-profile-about-header h3 {
    margin: 0;
}


.admin-profile-edit-button {
    border: 1px solid #444444;
    border-radius: 8px;
    padding: 7px 12px;
    background: #1a1a1a;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}


.admin-profile-edit-button:hover {
    background: #242424;
}


.admin-about-editor {
    margin-top: 18px;
}


.admin-about-editor textarea {
    width: 100%;
    min-height: 150px;
    max-height: 400px;
    box-sizing: border-box;
    resize: vertical;
    padding: 14px;
    border: 1px solid #333333;
    border-radius: 12px;
    outline: none;
    background: #050505;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;
}


.admin-about-editor textarea:focus {
    border-color: #777777;
}


.admin-about-editor textarea::placeholder {
    color: #666666;
}


.admin-about-editor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 12px;
}


.admin-about-editor-actions button {
    border: none;
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}


.admin-about-save {
    background: #ffffff;
    color: #000000;
}


.admin-about-cancel {
    background: #242424;
    color: #ffffff;
}


.admin-about-delete {
    background: #2a0d0d;
    color: #ff8080;
}


.admin-about-editor-actions button:disabled {
    opacity: .5;
    cursor: not-allowed;
}


.admin-about-status {
    min-height: 18px;
    margin-top: 10px;
    font-size: 12px;
    color: #888888;
}


.admin-about-status.success {
    color: #7ee787;
}


.admin-about-status.error {
    color: #ff8080;
}


@media (max-width: 600px) {

    .admin-profile-about-header {
        align-items: center;
    }


    .admin-about-editor-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }


    .admin-about-delete {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   ADMIN PROFILE
========================================================= */

.admin-profile-page {
    min-height: 100vh;
    background: #000;
    color: #fff;
    padding: 40px 20px;
    box-sizing: border-box;
}

.admin-profile-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.admin-profile-card {
    background: #0d0d0d;
    border: 1px solid #242424;
    border-radius: 20px;
    padding: 32px;
    box-sizing: border-box;
}

.admin-profile-header {
    text-align: center;
    margin-bottom: 30px;
}

.admin-profile-avatar {
    width: 90px;
    height: 90px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #fff;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    font-weight: 800;
}

.admin-profile-name {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
    color: #fff;
}

.admin-profile-role {
    margin-top: 7px;
    color: #aaa;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
}

.admin-profile-section {
    margin-top: 28px;
}

.admin-profile-section-title {
    margin-bottom: 10px;
    color: #999;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.admin-profile-about {
    min-height: 100px;
    padding: 18px;
    background: #050505;
    border: 1px solid #222;
    border-radius: 14px;
    color: #ddd;
    font-size: 15px;
    line-height: 1.6;
    box-sizing: border-box;
}

.admin-profile-about.empty {
    color: #777;
    font-style: italic;
}

.admin-profile-edit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 11px 22px;
    border: 1px solid #fff;
    border-radius: 10px;
    background: #fff;
    color: #000;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: 0.2s ease;
}

.admin-profile-edit-button:hover {
    background: #ddd;
}

.admin-profile-editor {
    margin-top: 15px;
}

.admin-profile-editor textarea {
    width: 100%;
    min-height: 130px;
    padding: 15px;
    resize: vertical;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 12px;
    outline: none;
    background: #050505;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;
}

.admin-profile-editor textarea:focus {
    border-color: #fff;
}

.admin-profile-editor-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.admin-profile-save-button,
.admin-profile-cancel-button,
.admin-profile-delete-button {
    padding: 10px 18px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.admin-profile-save-button {
    border: 1px solid #fff;
    background: #fff;
    color: #000;
}

.admin-profile-cancel-button {
    border: 1px solid #333;
    background: #151515;
    color: #fff;
}

.admin-profile-delete-button {
    border: 1px solid #5a1d1d;
    background: #1a0808;
    color: #ff5c5c;
}

.admin-profile-error {
    margin-top: 20px;
    padding: 14px;
    border: 1px solid #5a1d1d;
    border-radius: 10px;
    background: #150606;
    color: #ff6b6b;
    font-size: 14px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .admin-profile-page {
        padding: 20px 14px;
    }

    .admin-profile-card {
        padding: 24px 18px;
        border-radius: 16px;
    }

    .admin-profile-avatar {
        width: 76px;
        height: 76px;
        font-size: 28px;
    }

    .admin-profile-name {
        font-size: 24px;
    }

    .admin-profile-about {
        font-size: 14px;
    }

    .admin-profile-editor-actions {
        flex-wrap: wrap;
    }

    .admin-profile-save-button,
    .admin-profile-cancel-button,
    .admin-profile-delete-button {
        flex: 1;
    }
}


/* =========================================================
   PROFILE THEME SELECTOR
========================================================= */

.admin-profile-theme-section {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #242424;
}

.admin-profile-theme-section h3 {
    margin: 0;
    color: #999;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.admin-profile-theme-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 18px;
}

.profile-theme-option {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border: 1px solid #292929;
    border-radius: 12px;
    background: #080808;
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    transition: 0.2s ease;
}

.profile-theme-option:hover {
    border-color: #666;
    transform: translateY(-1px);
}

.profile-theme-option.active {
    border-color: #fff;
    box-shadow: 0 0 0 1px #fff;
}

.theme-preview {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: 8px;
    border: 1px solid #444;
}

/* Theme previews */

.theme-black {
    background: #000;
}

.theme-blue {
    background: #123a70;
}

.theme-grey {
    background: #555;
}

.theme-milk {
    background: #f4f1e8;
}

.theme-black-purple {
    background: linear-gradient(
        135deg,
        #000 0%,
        #000 55%,
        #32145f 100%
    );
}

.theme-black-green {
    background: linear-gradient(
        135deg,
        #000 0%,
        #000 55%,
        #124d32 100%
    );
}

.profile-theme-status {
    min-height: 20px;
    margin-top: 12px;
    font-size: 13px;
    color: #888;
}

.profile-theme-status.success {
    color: #7dff9b;
}

.profile-theme-status.error {
    color: #ff5c5c;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .admin-profile-theme-options {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-theme-option {
        padding: 9px;
    }
}


/* =================================================
   ADMIN CHAT ATTACHMENTS
================================================= */

.admin-chat-attachment-preview {
    width: 100%;
    max-width: 260px;
    margin-top: 8px;
}

.admin-chat-attachment-image {
    display: block;
    width: 100%;
    max-width: 260px;
    max-height: 260px;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
    cursor: pointer;
}


/* =================================================
   ADMIN CHAT SELECTED ATTACHMENT
================================================= */

.admin-chat-attachment-preview-box {
    position: relative;
    width: 100%;
    max-width: 260px;
    margin: 6px 0;
}

.admin-chat-selected-attachment {
    position: relative;
    width: fit-content;
    max-width: 260px;
}

.admin-chat-selected-image {
    display: block;
    width: auto;
    max-width: 260px;
    max-height: 180px;
    object-fit: cover;
    border-radius: 10px;
}

.admin-chat-remove-attachment {
    position: absolute;
    top: 6px;
    right: 6px;

    width: 28px;
    height: 28px;

    border: none;
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.75);
    color: #fff;

    font-size: 16px;
    line-height: 28px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-chat-remove-attachment:hover {
    background: rgba(0, 0, 0, 0.95);
}

.admin-chat-selected-file {
    display: flex;
    align-items: center;
    gap: 8px;

    max-width: 260px;

    padding: 8px 38px 8px 10px;

    border-radius: 10px;

    background: rgba(128, 128, 128, 0.15);

    position: relative;
    word-break: break-word;
}


/* =========================================================
   CLIENT PORTAL LOGIN
========================================================= */

.client-auth-page {
    min-height: 100vh;
    margin: 0;
    background: #000;
    color: #fff;
    font-family: inherit;
}

.client-auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    box-sizing: border-box;
}

.client-auth-card {
    width: 100%;
    max-width: 460px;
    padding: 48px 42px;
    background: #0b0b0b;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.55);
    box-sizing: border-box;
}


/* =========================================================
   BRAND / LOGO
========================================================= */

.client-auth-brand {
    display: inline-block;
    margin-bottom: 45px;

    color: #fff;
    text-decoration: none;

    font-size: 28px;
    font-weight: 800;
    letter-spacing: 2px;
}

.client-auth-brand span {
    color: #fff;
}


/* =========================================================
   HEADING
========================================================= */

.client-auth-heading {
    margin-bottom: 35px;
}

.client-auth-heading .section-label {
    margin: 0 0 12px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: rgba(255, 255, 255, 0.55);
}

.client-auth-heading h1 {
    margin: 0 0 12px;

    font-size: 38px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -1px;
}

.client-auth-heading > p:last-child {
    margin: 0;

    max-width: 380px;

    color: rgba(255, 255, 255, 0.58);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FORM
========================================================= */

.client-auth-form {
    width: 100%;
}

.client-form-group {
    margin-bottom: 22px;
}

.client-form-group label {
    display: block;
    margin-bottom: 9px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;

    color: rgba(255, 255, 255, 0.8);
}

.client-form-group input {
    width: 100%;
    height: 52px;

    padding: 0 16px;

    box-sizing: border-box;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;

    outline: none;

    background: #111;
    color: #fff;

    font-family: inherit;
    font-size: 14px;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.client-form-group input::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.client-form-group input:focus {
    border-color: rgba(255, 255, 255, 0.55);
    background: #151515;

    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.05);
}


/* =========================================================
   SIGN IN BUTTON
========================================================= */

.client-auth-submit {
    width: 100%;
    min-height: 52px;

    margin-top: 8px;

    border: none;
    border-radius: 10px;

    cursor: pointer;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease,
        box-shadow 0.2s ease;
}

.client-auth-submit:hover {
    transform: translateY(-1px);
    opacity: 0.92;
}

.client-auth-submit:active {
    transform: translateY(0);
}


/* =========================================================
   LOGIN MESSAGE
========================================================= */

.client-auth-message {
    min-height: 20px;

    margin: 14px 0 0;

    text-align: center;

    font-size: 13px;
    line-height: 1.5;

    color: rgba(255, 255, 255, 0.65);
}

.client-auth-message.error {
    color: #ff5c5c;
}


/* =========================================================
   SIGN UP SECTION
========================================================= */

.client-auth-footer {
    margin-top: 30px;
    padding-top: 25px;

    border-top: 1px solid rgba(255, 255, 255, 0.08);

    text-align: center;
}

.client-auth-footer p {
    margin: 0 0 10px;

    color: rgba(255, 255, 255, 0.45);

    font-size: 13px;
}

.client-signup-link {
    color: #fff;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;

    text-decoration: none;

    transition: opacity 0.2s ease;
}

.client-signup-link:hover {
    opacity: 0.6;
}


/* =========================================================
   BACK TO WEBSITE
========================================================= */

.client-back-link {
    display: block;

    margin-top: 28px;

    text-align: center;

    color: rgba(255, 255, 255, 0.45);

    font-size: 12px;

    text-decoration: none;

    transition: color 0.2s ease;
}

.client-back-link:hover {
    color: #fff;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .client-auth-container {
        padding: 25px 16px;
    }

    .client-auth-card {
        padding: 35px 24px;
        border-radius: 15px;
    }

    .client-auth-brand {
        margin-bottom: 35px;
        font-size: 25px;
    }

    .client-auth-heading h1 {
        font-size: 31px;
    }

    .client-auth-heading {
        margin-bottom: 30px;
    }

    .client-form-group input {
        height: 50px;
    }

}


/* =========================================================
   CLIENT AUTH LOGO
========================================================= */

.client-auth-logo-wrapper {
    width: 108px;
    height: 108px;

    margin: -8px auto 24px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
    z-index: 3;

    background: #050505;

    border: 2px solid rgba(255, 255, 255, 0.7);

    box-shadow:
        0 0 0 5px rgba(255, 255, 255, 0.03),
        0 0 25px rgba(0, 180, 255, 0.22);

    animation: clientLogoFloat 4s ease-in-out infinite;
}


.client-auth-logo {
    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 50%;

    display: block;
}


/* =========================================================
   LOGO FLOATING ANIMATION
========================================================= */

@keyframes clientLogoFloat {

    0%,
    100% {
        transform: translateY(0);
    }

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

}


/* =========================================================
   CLIENT PORTAL HEADING
========================================================= */

.client-auth-heading {
    text-align: left;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .client-auth-logo-wrapper {
        width: 92px;
        height: 92px;

        margin-top: -5px;
        margin-bottom: 22px;
    }

}


/* =========================================================
   FOFANA CLIENT PORTAL — PREMIUM DASHBOARD
========================================================= */

.client-dashboard-page {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(35, 95, 170, 0.16),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(0, 160, 255, 0.08),
            transparent 28%
        ),
        #050505;

    color: #fff;
}


/* =========================================================
   DASHBOARD HEADER
========================================================= */

.client-dashboard-header {
    position: sticky;
    top: 0;
    z-index: 100;

    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 5%;

    box-sizing: border-box;

    background: rgba(5, 5, 5, 0.82);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}


.client-dashboard-brand {
    color: #fff;

    text-decoration: none;

    font-size: 25px;
    font-weight: 800;

    letter-spacing: 2px;
}


.client-dashboard-brand span {
    color: #5dbbff;
}


.client-dashboard-user {
    display: flex;
    align-items: center;
    gap: 18px;
}


.client-header-name {
    color: rgba(255, 255, 255, 0.82);

    font-size: 13px;
    font-weight: 600;
}


.client-logout-button {
    padding: 9px 15px;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;

    background: rgba(255, 255, 255, 0.04);

    color: #fff;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.client-logout-button:hover {
    background: rgba(255, 255, 255, 0.09);

    border-color: rgba(255, 255, 255, 0.3);

    transform: translateY(-1px);
}


/* =========================================================
   MAIN DASHBOARD
========================================================= */

.client-dashboard-container {
    width: min(1180px, 90%);

    margin: 0 auto;

    padding: 70px 0 100px;
}


/* =========================================================
   WELCOME AREA
========================================================= */

.client-welcome-card {
    position: relative;

    overflow: hidden;

    padding: 48px;

    margin-bottom: 35px;

    border: 1px solid rgba(255, 255, 255, 0.1);

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.015)
        );

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.35);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}


.client-welcome-card::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    top: -130px;
    right: -80px;

    border-radius: 50%;

    background: rgba(40, 150, 255, 0.12);

    filter: blur(35px);

    pointer-events: none;
}


.client-welcome-card .section-label {
    position: relative;

    margin-bottom: 12px;

    color: #5dbbff;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2.5px;
}


.client-welcome-card h1 {
    position: relative;

    margin: 0 0 12px;

    font-size: clamp(34px, 5vw, 54px);

    line-height: 1.05;

    letter-spacing: -2px;
}


.client-welcome-card h1 span {
    color: #5dbbff;
}


.client-welcome-card > p:last-child {
    position: relative;

    max-width: 600px;

    margin: 0;

    color: rgba(255, 255, 255, 0.55);

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   DASHBOARD GRID
========================================================= */

.client-dashboard-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


/* =========================================================
   DASHBOARD CARDS
========================================================= */

.client-dashboard-card {
    position: relative;

    min-height: 255px;

    padding: 30px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    overflow: hidden;

    box-sizing: border-box;

    border: 1px solid rgba(255, 255, 255, 0.09);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.018)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.28);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}


.client-dashboard-card::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: -80px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(50, 160, 255, 0.07);

    filter: blur(25px);

    pointer-events: none;
}


.client-dashboard-card:hover {
    transform: translateY(-7px);

    border-color: rgba(93, 187, 255, 0.35);

    box-shadow:
        0 25px 65px rgba(0, 0, 0, 0.42),
        0 0 30px rgba(40, 150, 255, 0.07);
}


/* =========================================================
   CARD ICON / LABEL
========================================================= */

.client-card-icon {
    width: fit-content;

    padding: 8px 12px;

    margin-bottom: 25px;

    border: 1px solid rgba(93, 187, 255, 0.22);

    border-radius: 7px;

    background: rgba(93, 187, 255, 0.06);

    color: #5dbbff;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.8px;
}


.client-dashboard-card h2 {
    margin: 0 0 10px;

    color: #fff;

    font-size: 25px;

    letter-spacing: -0.5px;
}


.client-dashboard-card p {
    max-width: 390px;

    margin: 0;

    color: rgba(255, 255, 255, 0.48);

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   CARD BUTTON
========================================================= */

.client-dashboard-card .secondary-button {
    position: relative;
    z-index: 2;

    align-self: flex-start;

    margin-top: 28px;

    padding: 11px 17px;

    border: 1px solid rgba(255, 255, 255, 0.14);

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.04);

    color: #fff;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.2px;

    text-decoration: none;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.client-dashboard-card .secondary-button:hover {
    background: #fff;

    border-color: #fff;

    color: #000;

    transform: translateX(3px);
}


/* =========================================================
   STATUS MESSAGE
========================================================= */

.client-dashboard-message {
    margin-top: 25px;

    text-align: center;

    color: rgba(255, 255, 255, 0.6);

    font-size: 13px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .client-dashboard-header {
        padding: 17px 5%;
    }

    .client-dashboard-brand {
        font-size: 21px;
    }

    .client-header-name {
        display: none;
    }

    .client-dashboard-container {
        width: 92%;

        padding-top: 40px;
    }

    .client-welcome-card {
        padding: 30px 24px;

        border-radius: 20px;
    }

    .client-welcome-card h1 {
        font-size: 36px;
        letter-spacing: -1.5px;
    }

    .client-dashboard-grid {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .client-dashboard-card {
        min-height: 225px;

        padding: 25px;

        border-radius: 19px;
    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 400px) {

    .client-dashboard-container {
        width: 94%;
    }

    .client-welcome-card {
        padding: 27px 20px;
    }

    .client-welcome-card h1 {
        font-size: 32px;
    }

    .client-dashboard-card {
        padding: 22px;
    }

    .client-dashboard-card h2 {
        font-size: 22px;
    }

    .client-logout-button {
        padding: 8px 11px;
    }

}


/* =========================================================
   CLIENT MY PROFILE
   PREMIUM DARK DASHBOARD STYLE
========================================================= */

.client-my-profile-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px 70px;
    box-sizing: border-box;

    color: #ffffff;
}


/* =========================================================
   HEADER
========================================================= */

.client-my-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;

    margin-bottom: 30px;
}


.client-my-profile-header > div {
    flex: 1;
}


.client-profile-back {
    width: 44px;
    height: 44px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 12px;

    background: rgba(255,255,255,0.035);

    color: #ffffff;

    font-size: 18px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


.client-profile-back:hover {
    background: rgba(255,255,255,0.08);

    border-color:
        rgba(110,168,255,0.35);

    transform: translateX(-2px);
}


.client-my-profile-header .section-label {
    margin: 0 0 8px;

    color: #6ea8ff;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;
}


.client-my-profile-header h1 {
    margin: 0;

    color: #ffffff;

    font-size: 32px;
    font-weight: 800;

    letter-spacing: -0.7px;
}


.client-my-profile-header p:not(.section-label) {
    margin: 9px 0 0;

    max-width: 600px;

    color: rgba(255,255,255,0.48);

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   PROFILE HERO
========================================================= */

.client-my-profile-hero {
    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 22px;

    padding: 28px;

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.055),
            rgba(255,255,255,0.018)
        );

    box-shadow:
        0 20px 55px rgba(0,0,0,0.28),
        inset 0 1px 0 rgba(255,255,255,0.035);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}


/* =========================================================
   AVATAR
========================================================= */

.client-my-profile-avatar {
    width: 82px;
    height: 82px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #123a70,
            #1d5ca8
        );

    border: 1px solid rgba(255,255,255,0.15);

    color: #ffffff;

    font-size: 27px;
    font-weight: 800;

    text-transform: uppercase;

    box-shadow:
        0 12px 35px rgba(0,0,0,0.35),
        0 0 35px rgba(37,112,190,0.15);
}


.client-my-profile-identity {
    min-width: 0;
}


.client-my-profile-identity h2 {
    margin: 0;

    color: #ffffff;

    font-size: 23px;
    font-weight: 800;

    letter-spacing: -0.4px;

    overflow-wrap: anywhere;
}


.client-my-profile-role {
    display: inline-flex;

    margin-top: 8px;

    padding: 5px 9px;

    border-radius: 6px;

    background:
        rgba(110,168,255,0.10);

    border: 1px solid
        rgba(110,168,255,0.18);

    color: #78adff;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1.4px;
}


.client-my-profile-identity p {
    margin: 8px 0 0;

    color: rgba(255,255,255,0.42);

    font-size: 11px;

    overflow-wrap: anywhere;
}


/* =========================================================
   PROFILE CARDS
========================================================= */

.client-my-profile-card,
.client-my-profile-save-card {
    width: 100%;

    box-sizing: border-box;

    margin-top: 22px;

    padding: 28px;

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.045),
            rgba(255,255,255,0.015)
        );

    box-shadow:
        0 16px 45px rgba(0,0,0,0.22),
        inset 0 1px 0 rgba(255,255,255,0.025);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}


.client-my-profile-card-header {
    margin-bottom: 24px;
}


.client-my-profile-card-header .section-label,
.client-my-profile-save-card .section-label {
    margin: 0 0 8px;

    color: #6ea8ff;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


.client-my-profile-card-header h2,
.client-my-profile-save-card h2 {
    margin: 0;

    color: #ffffff;

    font-size: 20px;
    font-weight: 800;

    letter-spacing: -0.3px;
}


.client-my-profile-card-header p:not(.section-label),
.client-my-profile-save-card p:not(.section-label) {
    margin: 8px 0 0;

    color: rgba(255,255,255,0.43);

    font-size: 12px;

    line-height: 1.65;
}


/* =========================================================
   FORM
========================================================= */

.client-my-profile-form {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


.client-my-profile-field {
    display: flex;

    flex-direction: column;

    gap: 8px;
}


.client-my-profile-field-full {
    grid-column: 1 / -1;
}


.client-my-profile-field label {
    color: rgba(255,255,255,0.68);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.3px;

    text-transform: uppercase;
}


.client-my-profile-field input,
.client-my-profile-field textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 11px;

    outline: none;

    background:
        rgba(0,0,0,0.25);

    color: #ffffff;

    font-family: inherit;

    font-size: 13px;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}


.client-my-profile-field input {
    height: 48px;

    padding: 0 14px;
}


.client-my-profile-field textarea {
    min-height: 125px;

    padding: 14px;

    resize: vertical;

    line-height: 1.6;
}


.client-my-profile-field input::placeholder,
.client-my-profile-field textarea::placeholder {
    color: rgba(255,255,255,0.22);
}


.client-my-profile-field input:focus,
.client-my-profile-field textarea:focus {
    border-color:
        rgba(110,168,255,0.55);

    background:
        rgba(0,0,0,0.35);

    box-shadow:
        0 0 0 3px rgba(110,168,255,0.07);
}


.client-my-profile-field input[readonly] {
    color: rgba(255,255,255,0.40);

    background:
        rgba(255,255,255,0.025);

    cursor: not-allowed;
}


.client-my-profile-field small {
    color: rgba(255,255,255,0.30);

    font-size: 10px;

    line-height: 1.5;
}


/* =========================================================
   THEMES
========================================================= */

.client-my-profile-theme-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;
}


.client-my-profile-theme {
    min-height: 70px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 10px 13px;

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 12px;

    background:
        rgba(255,255,255,0.025);

    color: rgba(255,255,255,0.62);

    font-family: inherit;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1px;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}


.client-my-profile-theme:hover {
    transform: translateY(-2px);

    border-color:
        rgba(110,168,255,0.30);

    background:
        rgba(255,255,255,0.05);

    color: #ffffff;
}


.client-my-profile-theme.active {
    border-color:
        rgba(110,168,255,0.65);

    background:
        rgba(110,168,255,0.08);

    color: #ffffff;

    box-shadow:
        0 0 0 1px rgba(110,168,255,0.08),
        0 8px 24px rgba(0,0,0,0.18);
}


/* =========================================================
   THEME PREVIEWS
========================================================= */

.client-my-profile-theme .theme-preview {
    width: 27px;
    height: 27px;

    flex-shrink: 0;

    display: block;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,0.18);

    box-shadow:
        inset 0 1px 2px rgba(255,255,255,0.08),
        0 4px 10px rgba(0,0,0,0.25);
}


.client-my-profile-theme .theme-black {
    background: #000000;
}


.client-my-profile-theme .theme-blue {
    background: #123a70;
}


.client-my-profile-theme .theme-grey {
    background: #555555;
}


.client-my-profile-theme .theme-milk {
    background: #f4f1e8;
}


.client-my-profile-theme .theme-purple {
    background: #1b0b2e;
}


.client-my-profile-theme .theme-green {
    background: #082b1c;
}


/* =========================================================
   SAVE CARD
========================================================= */

.client-my-profile-save-card {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


.client-my-profile-save-area {
    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 18px;

    min-width: 280px;
}


.client-my-profile-status {
    margin: 0;

    min-height: 16px;

    color: rgba(255,255,255,0.45);

    font-size: 10px;

    line-height: 1.5;

    text-align: right;
}


#saveClientMyProfileButton {
    min-width: 150px;

    min-height: 44px;

    padding: 0 20px;

    border-radius: 10px;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}


#saveClientMyProfileButton:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 28px rgba(0,0,0,0.25);
}


#saveClientMyProfileButton:disabled {
    opacity: 0.55;

    cursor: wait;

    transform: none;
}


/* =========================================================
   PAGE MESSAGE
========================================================= */

.client-my-profile-message {
    margin: 18px 0 0;

    min-height: 18px;

    color: rgba(255,255,255,0.45);

    font-size: 11px;

    text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 760px) {

    .client-my-profile-page {
        padding:
            30px 18px 50px;
    }


    .client-my-profile-header {
        gap: 15px;
    }


    .client-my-profile-header h1 {
        font-size: 27px;
    }


    .client-my-profile-hero {
        padding: 22px;
    }


    .client-my-profile-form {
        grid-template-columns: 1fr;
    }


    .client-my-profile-field-full {
        grid-column: auto;
    }


    .client-my-profile-theme-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .client-my-profile-save-card {
        align-items: stretch;

        flex-direction: column;
    }


    .client-my-profile-save-area {
        align-items: stretch;

        flex-direction: column;

        min-width: 0;
    }


    .client-my-profile-status {
        text-align: left;
    }


    #saveClientMyProfileButton {
        width: 100%;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .client-my-profile-page {
        padding:
            22px 14px 40px;
    }


    .client-my-profile-header {
        align-items: flex-start;

        gap: 12px;
    }


    .client-profile-back {
        width: 40px;
        height: 40px;

        border-radius: 10px;
    }


    .client-my-profile-header h1 {
        font-size: 24px;
    }


    .client-my-profile-header p:not(.section-label) {
        font-size: 11px;
    }


    .client-my-profile-hero {
        padding: 20px;

        gap: 14px;

        border-radius: 17px;
    }


    .client-my-profile-avatar {
        width: 64px;
        height: 64px;

        font-size: 21px;
    }


    .client-my-profile-identity h2 {
        font-size: 18px;
    }


    .client-my-profile-card,
    .client-my-profile-save-card {
        padding: 20px;

        border-radius: 17px;
    }


    .client-my-profile-theme-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   PROFILE THEME PREVIEWS
========================================================= */

.theme-preview {
    display: block;
    width: 100%;
    height: 65px;
}


/* BLACK */

.theme-black {
    background: #000000;
}


/* BLUE */

.theme-blue {
    background: #123a70;
}


/* GREY */

.theme-grey {
    background: #555555;
}


/* MILK */

.theme-milk {
    background: #f4f1e8;
}


/* PURPLE */

.theme-purple {
    background: #1b0b2e;
}


/* GREEN */

.theme-green {
    background: #082b1c;
}


/* =========================================================
   CLIENT PROFILE THEMES
========================================================= */

.client-my-profile-page {
    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}


/* THEME BUTTON ACTIVE STATE */

.client-my-profile-theme.active {
    border-color: #3b82f6;
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.25);
}


/* =========================================================
   THEME PREVIEWS
========================================================= */

.theme-preview {
    display: block;
    width: 100%;
    height: 65px;
}

.theme-black {
    background: #000000;
}

.theme-blue {
    background: #123a70;
}

.theme-grey {
    background: #555555;
}

.theme-milk {
    background: #f4f1e8;
}

.theme-purple {
    background: #1b0b2e;
}

.theme-green {
    background: #082b1c;
}


/* =========================================================
   ADMIN CHAT MESSAGE MENU
========================================================= */

.admin-chat-message {
    position: relative;
}

.admin-chat-message-menu {
    position: absolute;

    width: 24px;
    height: 24px;

    padding: 0;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    outline: none;

    background: transparent;
    color: rgba(255, 255, 255, 0.45);

    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    box-shadow: none;
}

/* ADMIN MESSAGE — dots underneath */
.admin-chat-message.admin
.admin-chat-message-menu {
    right: 4px;
    bottom: -25px;
}

/* CLIENT MESSAGE — just in case */
.admin-chat-message.client
.admin-chat-message-menu {
    left: 4px;
    bottom: -25px;
}

.admin-chat-message-menu:hover {
    background: transparent;
    color: #ffffff;
    transform: none;
}

.admin-chat-message-menu:focus {
    outline: none;
    box-shadow: none;
}


/* =========================================================
   CLIENT CHAT MESSAGE MENU
========================================================= */

.chat-message {
    position: relative;
}

.chat-message-menu {
    position: absolute;

    width: 24px;
    height: 22px;

    padding: 0;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    outline: none;

    background: transparent;
    color: rgba(255, 255, 255, 0.45);

    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    box-shadow: none;
}

/* Client's own message — dots underneath */
.chat-message.client .chat-message-menu {
    right: 4px;
    bottom: -23px;
}

.chat-message-menu:hover {
    background: transparent;
    color: #ffffff;
    transform: none;
}

.chat-message-menu:focus {
    outline: none;
    box-shadow: none;
}


/* =========================================================
   ADMIN CHAT MESSAGE MENU
========================================================= */

.admin-chat-message {
    position: relative;
}

.admin-chat-message-menu {
    width: 24px;
    height: 24px;

    padding: 0;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    outline: none;

    background: transparent !important;
    color: rgba(255, 255, 255, 0.55);

    font-size: 18px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    box-shadow: none !important;
}

.admin-chat-message-menu:hover {
    background: transparent !important;
    color: #ffffff;
    transform: none;
}

.admin-chat-message-menu:focus {
    outline: none;
    box-shadow: none !important;
}


/* =========================================================
   ADMIN CHAT — MESSAGE ALIGNMENT
========================================================= */

.admin-chat-message {
    position: relative;
    display: flex;
    width: 100%;
    margin-bottom: 14px;
}

/* CLIENT MESSAGE — LEFT */
.admin-chat-message.client {
    justify-content: flex-start;
}

.admin-chat-message.client .admin-chat-bubble {
    margin-left: 0;
    margin-right: auto;
}

/* ADMIN MESSAGE — RIGHT */
.admin-chat-message.admin {
    justify-content: flex-end;
}

.admin-chat-message.admin .admin-chat-bubble {
    margin-left: auto;
    margin-right: 0;
}


/* =========================================================
   ADMIN CHAT — THREE DOT MENU
========================================================= */

.admin-chat-message {
    position: relative !important;
}

.admin-chat-message-menu {
    position: absolute !important;

    right: 8px !important;
    top: 8px !important;

    width: 30px !important;
    height: 30px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #333333 !important;
    color: #ffffff !important;

    border: 1px solid #ffffff !important;
    border-radius: 50% !important;

    font-size: 20px !important;
    font-weight: bold !important;
    line-height: 1 !important;

    cursor: pointer !important;

    opacity: 1 !important;
    visibility: visible !important;

    z-index: 99999 !important;
}


/* =========================================================
   ADMIN NOTIFICATIONS PAGE
   BLACK + DARK PURPLE
========================================================= */

.admin-notifications-page {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(74, 32, 110, 0.22),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(46, 20, 72, 0.20),
            transparent 34%
        ),
        #050505;

    color: #ffffff;
}


/* =========================================================
   NOTIFICATION MAIN CONTAINER
========================================================= */

.admin-notifications-page
.dashboard-main {
    padding-top: 70px;
    padding-bottom: 100px;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.admin-notifications-page
.dashboard-heading {
    margin-bottom: 45px;
}

.admin-notifications-page
.dashboard-heading h1 {
    color: #ffffff;
    margin-bottom: 12px;
}

.admin-notifications-page
.dashboard-heading > p:last-child {
    color: rgba(255, 255, 255, 0.58);
}


/* =========================================================
   NOTIFICATION CARD
========================================================= */

.admin-notification-card,
.admin-notification-list {
    width: 100%;
    max-width: 850px;
    margin: 0 auto 45px;

    padding: 38px;

    background:
        linear-gradient(
            145deg,
            rgba(30, 16, 45, 0.96),
            rgba(8, 8, 10, 0.98)
        );

    border: 1px solid
        rgba(139, 92, 246, 0.20);

    border-radius: 18px;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.45),
        0 0 45px rgba(91, 38, 125, 0.08);
}


/* =========================================================
   CARD HEADING
========================================================= */

.admin-notification-heading {
    margin-bottom: 30px;
}

.admin-notification-heading .admin-label {
    color: #a855f7;
    letter-spacing: 0.18em;
}

.admin-notification-heading h2 {
    margin: 8px 0 10px;

    color: #ffffff;

    font-size: 28px;
}

.admin-notification-heading p:last-child {
    color: rgba(255, 255, 255, 0.52);
}


/* =========================================================
   FORM
========================================================= */

#notificationForm {
    display: flex;
    flex-direction: column;
    gap: 22px;
}


/* =========================================================
   FIELD
========================================================= */

.notification-field {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.notification-field label {
    color: rgba(255, 255, 255, 0.82);

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 0.04em;
}

.notification-field label span {
    margin-left: 6px;

    color: rgba(255, 255, 255, 0.38);

    font-size: 11px;
    font-weight: 400;
}


/* =========================================================
   INPUTS
========================================================= */

.notification-field input,
.notification-field textarea,
.notification-field select {
    width: 100%;

    box-sizing: border-box;

    padding: 15px 16px;

    background:
        rgba(0, 0, 0, 0.48);

    color: #ffffff;

    border: 1px solid
        rgba(255, 255, 255, 0.10);

    border-radius: 10px;

    outline: none;

    font-family: inherit;
    font-size: 14px;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.notification-field textarea {
    min-height: 160px;
    resize: vertical;
    line-height: 1.6;
}

.notification-field select {
    cursor: pointer;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.notification-field input::placeholder,
.notification-field textarea::placeholder {
    color: rgba(255, 255, 255, 0.30);
}


/* =========================================================
   FOCUS
========================================================= */

.notification-field input:focus,
.notification-field textarea:focus,
.notification-field select:focus {
    border-color:
        rgba(168, 85, 247, 0.65);

    background:
        rgba(16, 8, 24, 0.80);

    box-shadow:
        0 0 0 3px
        rgba(168, 85, 247, 0.10);
}


/* =========================================================
   SELECT OPTIONS
========================================================= */

.notification-field select option {
    background: #12091a;
    color: #ffffff;
}


/* =========================================================
   SEND BUTTON
========================================================= */

#sendNotificationButton {
    width: 100%;

    min-height: 52px;

    margin-top: 8px;

    background:
        linear-gradient(
            135deg,
            #7e22ce,
            #4c1d95
        );

    border: 1px solid
        rgba(168, 85, 247, 0.45);

    color: #ffffff;

    font-weight: 700;

    letter-spacing: 0.04em;

    box-shadow:
        0 12px 30px
        rgba(76, 29, 149, 0.25);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}

#sendNotificationButton:hover {
    transform: translateY(-2px);

    box-shadow:
        0 16px 38px
        rgba(126, 34, 206, 0.32);
}

#sendNotificationButton:active {
    transform: translateY(0);
}


/* =========================================================
   STATUS
========================================================= */

#notificationStatus {
    min-height: 20px;

    margin: 0;

    color: #c084fc;

    font-size: 13px;
}


/* =========================================================
   SENT NOTIFICATION LIST
========================================================= */

.admin-notification-list {
    margin-top: 20px;
}

#notificationList {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

#notificationList > .dashboard-card {
    background:
        rgba(12, 8, 16, 0.88);

    border: 1px solid
        rgba(168, 85, 247, 0.12);

    border-radius: 12px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .admin-notification-card,
    .admin-notification-list {
        padding: 24px 18px;

        border-radius: 14px;
    }

    .admin-notification-heading h2 {
        font-size: 23px;
    }

    .admin-notifications-page
    .dashboard-main {
        padding-top: 40px;
    }

}


/* =========================================================
   CLIENT NOTIFICATIONS PAGE
   BLACK + DARK PURPLE PREMIUM DESIGN
========================================================= */

.client-notifications-page {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(82, 38, 120, 0.20),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(55, 24, 82, 0.18),
            transparent 35%
        ),
        #050505;

    color: #ffffff;

    padding-bottom: 70px;
}


/* =========================================================
   FIXED HEADER
========================================================= */

.client-notifications-page .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    height: 72px;

    z-index: 9999;

    background: rgba(5, 5, 5, 0.94);

    border-bottom: 1px solid rgba(145, 87, 190, 0.18);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.35);
}


/* Keep page content below fixed header */

.client-notifications-page .notifications-container {
    padding-top: 120px;
}


/* =========================================================
   HEADER BRAND
========================================================= */

.client-notifications-page .brand {
    color: #ffffff;

    font-weight: 800;
    letter-spacing: 0.12em;

    text-decoration: none;
}


/* Dashboard button */

.client-notifications-page .dashboard-link {
    color: #ffffff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.08em;

    padding: 10px 16px;

    border: 1px solid rgba(145, 87, 190, 0.35);

    border-radius: 10px;

    background:
        rgba(55, 25, 80, 0.35);

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.client-notifications-page .dashboard-link:hover {
    background:
        rgba(91, 42, 132, 0.45);

    border-color:
        rgba(178, 115, 225, 0.55);

    transform: translateY(-1px);
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.client-notifications-page .notifications-container {
    width: min(900px, calc(100% - 32px));

    margin: 0 auto;
}


/* =========================================================
   PAGE INTRO
========================================================= */

.client-notifications-page .notifications-header {
    margin-bottom: 28px;
}

.client-notifications-page .notifications-header h1 {
    margin: 0 0 8px;

    color: #ffffff;

    font-size: clamp(30px, 5vw, 46px);

    font-weight: 800;

    letter-spacing: -0.03em;
}

.client-notifications-page .notifications-header p {
    margin: 0;

    color: rgba(255, 255, 255, 0.55);

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
   MARK ALL AS READ
========================================================= */

#markAllReadButton {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 28px;

    padding: 11px 17px;

    border: 1px solid rgba(140, 82, 184, 0.35);

    border-radius: 10px;

    background:
        rgba(56, 25, 80, 0.45);

    color: rgba(255, 255, 255, 0.82);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.08em;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

#markAllReadButton:hover {
    background:
        rgba(86, 40, 122, 0.55);

    border-color:
        rgba(178, 115, 225, 0.55);

    color: #ffffff;
}


/* =========================================================
   NOTIFICATION LIST
========================================================= */

#clientNotificationList {
    display: flex;

    flex-direction: column;

    gap: 14px;
}


/* =========================================================
   NOTIFICATION CARD
========================================================= */

.client-notification-card {
    position: relative;

    padding: 22px 24px;

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 14, 31, 0.96),
            rgba(10, 10, 10, 0.98)
        );

    border: 1px solid rgba(126, 71, 163, 0.22);

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.client-notification-card:hover {
    transform: translateY(-2px);

    border-color:
        rgba(157, 91, 199, 0.40);

    box-shadow:
        0 16px 40px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   UNREAD NOTIFICATION
========================================================= */

.client-notification-card.unread {
    border-color:
        rgba(151, 83, 198, 0.48);

    background:
        linear-gradient(
            145deg,
            rgba(39, 20, 52, 0.98),
            rgba(11, 8, 13, 0.98)
        );
}


/* =========================================================
   NOTIFICATION TOP ROW
========================================================= */

.client-notification-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;
}


/* Notification type */

.client-notification-type {
    color: #b98bd8;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


/* NEW badge */

.client-notification-new {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 5px 9px;

    border-radius: 999px;

    background:
        #6d3297;

    color: #ffffff;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 0.1em;

    box-shadow:
        0 0 16px rgba(125, 52, 170, 0.25);
}


/* =========================================================
   TITLE
========================================================= */

.client-notification-card h3 {
    margin: 0 0 9px;

    color: #ffffff;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.35;
}


/* =========================================================
   MESSAGE
========================================================= */

.client-notification-message {
    margin: 0;

    color: rgba(255, 255, 255, 0.68);

    font-size: 14px;

    line-height: 1.75;

    white-space: pre-wrap;
}


/* =========================================================
   DATE
========================================================= */

.client-notification-date {
    display: block;

    margin-top: 15px;

    color: rgba(255, 255, 255, 0.36);

    font-size: 11px;

    letter-spacing: 0.02em;
}


/* =========================================================
   ACTION BUTTON
========================================================= */

.client-notification-action {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 17px;

    padding: 10px 16px;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #542274,
            #311344
        );

    border: 1px solid rgba(177, 105, 221, 0.28);

    color: #ffffff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.05em;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.client-notification-action:hover {
    transform: translateY(-1px);

    background:
        linear-gradient(
            135deg,
            #663087,
            #3b1650
        );

    box-shadow:
        0 8px 22px rgba(76, 31, 102, 0.30);
}


/* =========================================================
   STATUS / EMPTY STATE
========================================================= */

#clientNotificationStatus {
    margin-top: 18px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 13px;

    line-height: 1.6;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .client-notifications-page .site-header {
        height: 64px;
    }

    .client-notifications-page .notifications-container {
        width: min(100% - 22px, 900px);

        padding-top: 100px;
    }

    .client-notifications-page .notifications-header h1 {
        font-size: 32px;
    }

    .client-notifications-page .notifications-header p {
        font-size: 14px;
    }

    .client-notification-card {
        padding: 18px;
        border-radius: 14px;
    }

    .client-notification-card h3 {
        font-size: 17px;
    }

    .client-notification-message {
        font-size: 13px;
        line-height: 1.7;
    }

    .client-notification-top {
        align-items: flex-start;
    }

    .client-notification-type {
        font-size: 10px;
    }

    .client-notification-new {
        flex-shrink: 0;
    }

}


/* =========================================================
   CLIENT NOTIFICATIONS
   PREMIUM BLACK + DARK PURPLE
========================================================= */

.client-notifications-page {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 15% 8%,
            rgba(82, 38, 120, 0.20),
            transparent 32%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(55, 24, 82, 0.18),
            transparent 35%
        ),
        #050505;

    color: #ffffff;
}


/* =========================================================
   FIXED HEADER
========================================================= */

.client-notifications-page .dashboard-header {
    position: fixed;

    top: 0;
    left: 0;
    right: 0;

    width: 100%;

    z-index: 9999;

    background: rgba(5, 5, 5, 0.94);

    border-bottom: 1px solid rgba(137, 78, 180, 0.22);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.35);
}


/* Keep header content in its normal container */

.client-notifications-page .dashboard-header
.dashboard-container {
    min-height: 72px;

    display: flex;

    align-items: center;

    justify-content: space-between;
}


/* =========================================================
   FOFANA BRAND
========================================================= */

.client-notifications-page .brand {
    color: #ffffff;

    text-decoration: none;

    font-weight: 800;

    letter-spacing: 0.12em;
}

.client-notifications-page .brand span {
    color: #8f4bb8;
}


/* =========================================================
   DASHBOARD BUTTON
========================================================= */

.client-notifications-page .dashboard-logout {
    color: rgba(255, 255, 255, 0.82);

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.08em;

    padding: 10px 16px;

    border: 1px solid rgba(137, 78, 180, 0.30);

    border-radius: 10px;

    background:
        rgba(50, 24, 70, 0.35);

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.client-notifications-page .dashboard-logout:hover {
    color: #ffffff;

    background:
        rgba(88, 42, 120, 0.45);

    border-color:
        rgba(170, 105, 210, 0.55);

    transform: translateY(-1px);
}


/* =========================================================
   MAIN CONTENT
========================================================= */

/*
   Header is fixed, so push the page content down.
*/

.client-notifications-page .dashboard-main {
    padding-top: 110px;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.client-notifications-page .dashboard-heading {
    margin-bottom: 28px;
}

.client-notifications-page .dashboard-heading .admin-label {
    color: #a56bc7;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.16em;

    margin-bottom: 10px;
}

.client-notifications-page .dashboard-heading h1 {
    margin: 0 0 9px;

    color: #ffffff;

    font-size: clamp(30px, 5vw, 44px);

    font-weight: 800;

    letter-spacing: -0.035em;

    line-height: 1.1;
}

.client-notifications-page .dashboard-heading > p:last-child {
    margin: 0;

    max-width: 620px;

    color: rgba(255, 255, 255, 0.52);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CONTROL AREA
========================================================= */

.client-notification-controls {
    margin-bottom: 24px;
}

.client-notifications-page
#markAllReadButton {
    border: 1px solid rgba(137, 78, 180, 0.34);

    background:
        linear-gradient(
            135deg,
            rgba(70, 31, 96, 0.75),
            rgba(27, 15, 35, 0.85)
        );

    color: rgba(255, 255, 255, 0.86);

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.20);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

.client-notifications-page
#markAllReadButton:hover {
    transform: translateY(-1px);

    border-color:
        rgba(176, 105, 216, 0.60);

    background:
        linear-gradient(
            135deg,
            rgba(89, 40, 121, 0.85),
            rgba(35, 17, 45, 0.95)
        );
}


/* =========================================================
   NOTIFICATION LIST
========================================================= */

.client-notification-list {
    display: flex;

    flex-direction: column;

    gap: 14px;
}


/* =========================================================
   NOTIFICATION CARD
========================================================= */

.client-notification-card {
    position: relative;

    padding: 22px 24px;

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(23, 14, 30, 0.97),
            rgba(9, 9, 9, 0.98)
        );

    border: 1px solid rgba(126, 71, 163, 0.20);

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.client-notification-card:hover {
    transform: translateY(-2px);

    border-color:
        rgba(157, 91, 199, 0.40);

    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.34);
}


/* =========================================================
   UNREAD CARD
========================================================= */

.client-notification-card.unread {
    border-color:
        rgba(151, 83, 198, 0.48);

    background:
        linear-gradient(
            145deg,
            rgba(39, 20, 52, 0.98),
            rgba(10, 8, 12, 0.98)
        );

    box-shadow:
        0 12px 35px rgba(70, 29, 94, 0.12);
}


/* =========================================================
   TOP ROW
========================================================= */

.client-notification-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;
}


/* Notification type */

.client-notification-type {
    color: #aa70c9;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.14em;

    text-transform: uppercase;
}


/* =========================================================
   NEW BADGE
========================================================= */

.client-notification-new {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 5px 9px;

    border-radius: 999px;

    background:
        #6b3193;

    color: #ffffff;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 0.1em;

    box-shadow:
        0 0 16px rgba(125, 52, 170, 0.25);
}


/* =========================================================
   NOTIFICATION TITLE
========================================================= */

.client-notification-card h2 {
    margin: 0 0 9px;

    color: #ffffff;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.35;
}


/* =========================================================
   MESSAGE
========================================================= */

.client-notification-message {
    margin: 0;

    color: rgba(255, 255, 255, 0.66);

    font-size: 14px;

    line-height: 1.75;

    white-space: pre-wrap;
}


/* =========================================================
   BOTTOM ROW
========================================================= */

.client-notification-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-top: 17px;
}

.client-notification-bottom > span {
    color: rgba(255, 255, 255, 0.34);

    font-size: 11px;
}


/* =========================================================
   ACTION BUTTON
========================================================= */

.client-notification-card
.client-notification-bottom
.dashboard-button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    padding: 9px 15px;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #542274,
            #301343
        );

    border: 1px solid rgba(177, 105, 221, 0.28);

    color: #ffffff;

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.05em;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.client-notification-card
.client-notification-bottom
.dashboard-button:hover {
    transform: translateY(-1px);

    background:
        linear-gradient(
            135deg,
            #663087,
            #3b1650
        );

    box-shadow:
        0 8px 22px rgba(76, 31, 102, 0.30);
}


/* =========================================================
   STATUS
========================================================= */

.client-notifications-page
#clientNotificationStatus {
    margin-top: 18px;

    color: rgba(255, 255, 255, 0.45);

    font-size: 13px;

    line-height: 1.6;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .client-notifications-page .dashboard-header
    .dashboard-container {
        min-height: 64px;
    }

    .client-notifications-page .dashboard-main {
        padding-top: 94px;
    }

    .client-notifications-page .dashboard-heading h1 {
        font-size: 32px;
    }

    .client-notifications-page
    .dashboard-heading > p:last-child {
        font-size: 13px;
    }

    .client-notification-card {
        padding: 18px;

        border-radius: 14px;
    }

    .client-notification-card h2 {
        font-size: 17px;
    }

    .client-notification-message {
        font-size: 13px;

        line-height: 1.7;
    }

    .client-notification-bottom {
        align-items: flex-start;

        flex-direction: column;

        gap: 12px;
    }

    .client-notification-card
    .client-notification-bottom
    .dashboard-button {
        width: 100%;
    }

    .client-notifications-page .brand {
        font-size: 15px;
    }

    .client-notifications-page .dashboard-logout {
        padding: 9px 13px;

        font-size: 11px;
    }
}


/* =========================================================
   FOOTER SERVICES - TWO PER ROW + DIVIDERS
   Added at bottom to override existing footer styles
========================================================= */

.footer-services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
}

.footer-services a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 14px;

    color: rgba(10, 7, 16, 0.55);
    font-size: 0.84rem;
    text-decoration: none;

    transition: color 0.2s ease;
}

/* ---------------------------------------------------------
   HORIZONTAL LINES BETWEEN SERVICE ROWS
--------------------------------------------------------- */

.footer-services a:nth-child(n + 3) {
    border-top: 1px solid rgba(10, 7, 16, 0.10);
}

/* ---------------------------------------------------------
   VERTICAL LINE BETWEEN THE TWO COLUMNS
--------------------------------------------------------- */

.footer-services a:nth-child(even) {
    border-left: 1px solid rgba(10, 7, 16, 0.10);
}

/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

.footer-services a:hover {
    color: #7c3aed;
}


/* =========================================================
   MOBILE FOOTER SERVICES
========================================================= */

@media (max-width: 768px) {

    .footer-services {
        grid-template-columns: 1fr;
    }

    .footer-services a {
        border-left: none !important;
    }

    .footer-services a + a {
        border-top: 1px solid rgba(10, 7, 16, 0.10);
    }

}


/* =========================================================
   POLICY PAGE HEADER - SIMPLE LAYOUT
========================================================= */

.policy-page .nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1200px, 92%);
    margin: 0 auto;
}

.policy-page .nav-contact {
    margin-left: auto;
}


/* =========================================================
   MANAGE PROJECTS - POLISHED PROJECT CARDS
   Add at the very bottom of style.css
========================================================= */


/* =========================================================
   STICKY HEADER
========================================================= */

.dashboard-page .dashboard-header {
    position: sticky;
    top: 0;
    z-index: 9999;
}


/* =========================================================
   PROJECT GRID
========================================================= */

.manage-projects-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(300px, 1fr)
    );
    gap: 28px;
    align-items: start;
}


/* =========================================================
   PROJECT CARD
========================================================= */

.manage-project-card {
    overflow: hidden;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(10, 7, 16, 0.08);

    box-shadow:
        0 10px 30px
        rgba(10, 7, 16, 0.06);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.manage-project-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 40px
        rgba(10, 7, 16, 0.10);
}


/* =========================================================
   PROJECT IMAGE FRAME
========================================================= */

.manage-project-image-wrap {
    width: 100%;
    height: 190px;

    overflow: hidden;

    background:
        #f3f0ea;

    position: relative;
}


/* =========================================================
   PROJECT IMAGE
========================================================= */

.manage-project-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.35s ease;
}


/* Subtle image zoom on card hover */

.manage-project-card:hover
.manage-project-image {
    transform: scale(1.03);
}


/* =========================================================
   NO IMAGE
========================================================= */

.manage-project-no-image {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        #f3f0ea;

    color:
        rgba(10, 7, 16, 0.45);

    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}


/* =========================================================
   PROJECT CONTENT
========================================================= */

.manage-project-content {
    padding: 20px;
}


/* =========================================================
   PROJECT TOP
========================================================= */

.manage-project-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;
    margin-bottom: 12px;
}


/* =========================================================
   PROJECT TITLE
========================================================= */

.manage-project-content h2 {
    margin: 0 0 9px;

    font-size: 1.15rem;
    line-height: 1.3;
}


/* =========================================================
   PROJECT DESCRIPTION
========================================================= */

.manage-project-content > p {
    margin: 0;

    color:
        rgba(10, 7, 16, 0.58);

    font-size: 0.88rem;
    line-height: 1.65;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================================
   PROJECT META
========================================================= */

.manage-project-meta {
    margin-top: 15px;
}


/* =========================================================
   PROJECT ACTIONS
========================================================= */

.manage-project-actions {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    margin-top: 18px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .manage-projects-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }


    .manage-project-image-wrap {
        height: 180px;
    }


    .manage-project-content {
        padding: 17px;
    }


    .manage-project-actions {
        grid-template-columns: 1fr 1fr;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .manage-project-image-wrap {
        height: 165px;
    }


    .manage-project-top {
        align-items: flex-start;
        flex-direction: column;
    }


    .manage-project-actions {
        grid-template-columns: 1fr;
    }

}


/* MANAGE PROJECTS — KEEP HEADER STICKY ON MOBILE */
@media (max-width: 768px) {
    .dashboard-page .dashboard-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 99999 !important;
    }
}


/* =========================================================
   MANAGE REVIEWS — POLISHED ADMIN UI
========================================================= */

/* Keep dashboard header visible */
.dashboard-page .dashboard-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
}


/* =========================================================
   REVIEW MANAGEMENT GRID
========================================================= */

.review-management-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(310px, 1fr)
    );
    gap: 26px;
    align-items: stretch;
    margin-top: 28px;
}


/* =========================================================
   REVIEW CARD
========================================================= */

.review-management-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(10, 7, 16, 0.08);
    border-radius: 20px;
    background: #ffffff;
    box-shadow:
        0 10px 30px rgba(10, 7, 16, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.review-management-card:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 58, 237, 0.16);
    box-shadow:
        0 18px 42px rgba(10, 7, 16, 0.10);
}


/* =========================================================
   TOP BADGES
========================================================= */

.review-management-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 28px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.review-management-top .project-status-badge,
.review-management-top .project-featured-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* =========================================================
   RATING
========================================================= */

.review-management-card .review-stars {
    margin-bottom: 15px;
    font-size: 1.05rem;
    line-height: 1;
    letter-spacing: 2px;
}


/* =========================================================
   REVIEW TEXT
========================================================= */

.review-management-card blockquote {
    position: relative;
    margin: 0;
    padding: 0 0 4px;
    color: rgba(10, 7, 16, 0.76);
    font-size: 0.94rem;
    line-height: 1.75;
    font-style: italic;
}

.review-management-card blockquote::before {
    content: "“";
    display: block;
    height: 24px;
    color: rgba(124, 58, 237, 0.20);
    font-family: Georgia, serif;
    font-size: 3.2rem;
    font-style: normal;
    line-height: 1;
}


/* =========================================================
   CLIENT INFORMATION
========================================================= */

.review-management-card .review-client {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid rgba(10, 7, 16, 0.08);
}

.review-management-card .review-client strong {
    color: #0a0710;
    font-size: 0.92rem;
    font-weight: 700;
}

.review-management-card .review-client span {
    color: rgba(10, 7, 16, 0.48);
    font-size: 0.78rem;
    line-height: 1.5;
}


/* =========================================================
   ACTION BUTTONS
========================================================= */

.review-management-card .manage-project-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: auto;
    padding-top: 20px;
}

.review-management-card .manage-project-actions .dashboard-button {
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 10px;
    font-size: 0.76rem;
}


/* =========================================================
   SEARCH + FILTER AREA
========================================================= */

.project-management-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 14px;
    margin-top: 26px;
    margin-bottom: 10px;
}

.project-search-box,
.project-filter-box {
    width: 100%;
}

.project-search-box input,
.project-filter-box select {
    width: 100%;
    min-height: 48px;
    padding: 0 15px;
    border: 1px solid rgba(10, 7, 16, 0.10);
    border-radius: 12px;
    background: #ffffff;
    color: #0a0710;
    font: inherit;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.project-search-box input:focus,
.project-filter-box select:focus {
    border-color: rgba(124, 58, 237, 0.45);
    box-shadow:
        0 0 0 4px rgba(124, 58, 237, 0.08);
}


/* =========================================================
   EMPTY / LOADING STATE
========================================================= */

.review-management-grid .project-loading,
.review-management-grid .project-empty {
    grid-column: 1 / -1;
    width: 100%;
    padding: 55px 25px;
    border: 1px dashed rgba(10, 7, 16, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.7);
    text-align: center;
}


/* =========================================================
   REVIEW MESSAGE
========================================================= */

#reviewMessage {
    margin-top: 14px;
}


/* =========================================================
   REVIEW MODAL POLISH
========================================================= */

#reviewModal .edit-project-modal-card {
    border-radius: 22px;
    overflow: hidden;
    box-shadow:
        0 25px 70px rgba(10, 7, 16, 0.18);
}

#reviewModal .edit-project-modal-header {
    padding: 24px 26px;
    border-bottom: 1px solid rgba(10, 7, 16, 0.08);
}

#reviewModal .edit-project-form {
    padding: 26px;
}

#reviewModal .form-group label {
    margin-bottom: 8px;
    font-weight: 650;
}

#reviewModal input,
#reviewModal textarea,
#reviewModal select {
    border-radius: 11px;
}

#reviewModal textarea {
    resize: vertical;
    min-height: 130px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .dashboard-page .dashboard-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 99999 !important;
    }

    .review-management-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 22px;
    }

    .review-management-card {
        padding: 20px;
        border-radius: 17px;
    }

    .project-management-controls {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 20px;
    }

    .review-management-card .manage-project-actions {
        gap: 8px;
    }

    .review-management-card .manage-project-actions .dashboard-button {
        min-height: 42px;
    }

    #reviewModal .edit-project-modal-header {
        padding: 20px;
    }

    #reviewModal .edit-project-form {
        padding: 20px;
    }
}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .review-management-card {
        padding: 17px;
        border-radius: 15px;
    }

    .review-management-card blockquote {
        font-size: 0.88rem;
        line-height: 1.7;
    }

    .review-management-card .review-stars {
        font-size: 0.95rem;
    }

    .review-management-card .manage-project-actions {
        grid-template-columns: 1fr 1fr;
    }

    .review-management-card .manage-project-actions .dashboard-button {
        min-height: 40px;
        padding: 8px 7px;
        font-size: 0.7rem;
    }

}


/* =========================================================
   ADMIN DASHBOARD — GLOBAL STICKY HEADER
========================================================= */

.dashboard-page .dashboard-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
}


 /* =========================================================
    ADMIN PAGES — FIXED MOBILE HEADER
 ========================================================= */

@media (max-width: 768px) {

    .dashboard-page .dashboard-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
    }

    .dashboard-page .dashboard-main {
        padding-top: 160px !important;
    }

}


/* =========================================================
   TRUST / EXPERIENCE STATS
========================================================= */

.trust-stats-section {
    width: 100%;
    padding: 75px 20px;
}

.trust-stats-container {
    width: min(1100px, 92%);
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    align-items: center;
    text-align: center;
}

.trust-stat {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 10px;

    padding: 15px 30px;
}

.trust-stat + .trust-stat {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.trust-stat strong {
    display: block;

    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1;

    font-weight: 800;

    letter-spacing: -0.04em;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #a855f7
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
}

.trust-stat span {
    display: block;

    color: rgba(255, 255, 255, 0.58);

    font-size: 0.72rem;
    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .trust-stats-section {
        padding: 55px 20px;
    }

    .trust-stats-container {
        width: min(420px, 92%);

        grid-template-columns: 1fr;

        gap: 0;
    }

    .trust-stat {
        padding: 28px 15px;
    }

    .trust-stat + .trust-stat {
        border-left: none;

        border-top: 1px solid rgba(255, 255, 255, 0.10);
    }

    .trust-stat strong {
        font-size: 3.2rem;
    }

    .trust-stat span {
        font-size: 0.68rem;
        letter-spacing: 0.13em;
    }

}


/* =========================================================
   ORDER NOW — GLASSY BOUNCING BUTTON
========================================================= */

.order-now-section {
    width: 100%;
    padding: 90px 20px 110px;
    display: flex;
    justify-content: center;
    text-align: center;
}

.order-now-card {
    width: min(760px, 94%);
    padding: 70px 30px;
    position: relative;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.order-basket {
    width: 76px;
    height: 76px;
    margin: 0 auto 28px;
    display: flex;
    align-items: center;
    justify-content: center;
border-radius: 50%;
    background: rgba(255, 210, 70, 0.16);
    border: 1px solid rgba(255, 215, 90, 0.38);
    box-shadow:
        0 15px 35px rgba(255, 200, 50, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    font-size: 2rem;
    animation: orderBasketBounce 1.5s ease-in-out infinite;
}

@keyframes orderBasketBounce {

    0%,
    100% {
        transform: translateY(0);
    }

    45% {
        transform: translateY(-18px);
    }

    55% {
        transform: translateY(-18px);
    }

    65% {
        transform: translateY(0);
    }

    72% {
        transform: translateY(-7px);
    }

    80% {
        transform: translateY(0);
    }
}

.order-now-label {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.order-now-card h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.3rem, 6vw, 4.5rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.order-now-card h2 span {
    color: #f4c542;
}

.order-now-description {
    max-width: 540px;
    margin: 22px auto 30px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.94rem;
    line-height: 1.75;
}

.order-now-button {
    min-width: 180px;
    padding: 15px 28px;
    border: 1px solid rgba(255, 220, 100, 0.55);
    border-radius: 999px;
    background: rgba(255, 205, 55, 0.18);
    color: #ffffff;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    cursor: pointer;
    box-shadow:
        0 12px 30px rgba(255, 200, 50, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.order-now-button:hover {
    transform: translateY(-3px);
    background: rgba(255, 205, 55, 0.28);
    box-shadow:
        0 18px 38px rgba(255, 200, 50, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.order-now-button:active {
    transform: translateY(1px);
}

@media (max-width: 600px) {

    .order-now-section {
        padding: 65px 16px 80px;
    }

    .order-now-card {
        width: 100%;
        padding: 55px 20px;
        border-radius: 25px;
    }

    .order-basket {
        width: 68px;
        height: 68px;
        margin-bottom: 24px;
    }

    .order-now-description {
        font-size: 0.88rem;
    }

    .order-now-button {
        width: 100%;
        max-width: 260px;
    }
}



/* =========================================================
   ORDER NOW POPUP
========================================================= */

.order-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.order-popup-overlay.active {
    display: flex;
}

.order-popup {
    width: min(440px, 100%);
    position: relative;
    padding: 42px 30px 32px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 26px;
    background: rgba(25, 25, 25, 0.92);
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.45);
    text-align: center;
    animation: orderPopupAppear 0.35s ease;
}

@keyframes orderPopupAppear {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.order-popup-close {
    position: absolute;
    top: 13px;
    right: 17px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}

.order-popup-icon {
    width: 66px;
    height: 66px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 205, 55, 0.14);
    border: 1px solid rgba(255, 215, 90, 0.4);
    box-shadow: 0 10px 30px rgba(255, 200, 50, 0.12);
    font-size: 28px;
}

.order-coming-soon {
    display: inline-block;
    padding: 7px 13px;
    margin-bottom: 15px;
    border: 1px solid rgba(255, 210, 70, 0.35);
    border-radius: 50px;
    background: rgba(255, 210, 70, 0.10);
    color: #f4c542;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.order-popup h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.order-popup p {
    margin: 0 auto 25px;
    max-width: 340px;
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    line-height: 1.8;
}

.order-popup-chat {
    display: block;
    width: 100%;
    padding: 15px 20px;
    border: 1px solid rgba(255, 220, 100, 0.55);
    border-radius: 50px;
    background: rgba(255, 205, 55, 0.18);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(255, 200, 50, 0.10);
    transition: background 0.25s ease, transform 0.25s ease;
}

.order-popup-chat:hover {
    background: rgba(255, 205, 55, 0.30);
    transform: translateY(-2px);
}

.order-popup-dismiss {
    margin-top: 16px;
    padding: 8px 16px;
    border: none;
    background: transparent;
    color: rgba(255,255,255,0.55);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.order-popup-dismiss:hover {
    color: #fff;
}

@media (max-width: 480px) {
    .order-popup {
        padding: 38px 22px 25px;
        border-radius: 22px;
    }
}


/* ORDER AVAILABILITY CONTROL */

.order-settings-card {
    padding: 24px;
    margin: 24px 0;
    border: 1px solid rgba(180, 108, 255, 0.3);
    border-radius: 16px;
    background: var(--card-bg, #17131f);
}

.order-settings-info h2 {
    margin: 0 0 8px;
}

.order-settings-info p {
    margin: 0;
    opacity: 0.75;
}

.order-settings-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
}

.order-toggle {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 30px;
    flex-shrink: 0;
}

.order-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.order-toggle-slider {
    position: absolute;
    inset: 0;
    cursor: pointer;
    background: #777;
    border-radius: 30px;
    transition: 0.25s;
}

.order-toggle-slider::before {
    content: "";
    position: absolute;
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background: white;
    border-radius: 50%;
    transition: 0.25s;
}

.order-toggle input:checked + .order-toggle-slider {
    background: #24b86a;
}

.order-toggle input:checked + .order-toggle-slider::before {
    transform: translateX(24px);
}

.order-toggle input:disabled + .order-toggle-slider {
    opacity: 0.5;
    cursor: not-allowed;
}

#orderSettingsMessage {
    margin-top: 12px;
    font-size: 14px;
}
