/* LDSChatting public brand theme. The logo artwork is intentionally untouched. */
:root {
    --lds-yellow: #ffd600;
    --lds-yellow-soft: #fff8c9;
    --lds-yellow-line: #f0cb00;
    --lds-green: #25d366;
    --lds-green-dark: #128c7e;
    --lds-green-deep: #075e54;
    --lds-green-soft: #e9fbf1;
    --lds-charcoal: #171c19;
    --lds-text: #29312d;
    --lds-muted: #6c756f;
    --lds-paper: #fffef8;
    --lds-surface: #f5f7f2;
}

html,
body {
    color: var(--lds-text) !important;
    background:
        radial-gradient(circle at 4% 8%, rgba(255, 214, 0, .12), transparent 26rem),
        radial-gradient(circle at 96% 32%, rgba(37, 211, 102, .10), transparent 30rem),
        var(--lds-surface) !important;
}

.header,
.header.fixed,
.header.header-sticky {
    background: rgba(255, 255, 250, .97) !important;
    border-bottom: 2px solid var(--lds-yellow) !important;
    box-shadow: 0 8px 28px rgba(23, 28, 25, .08) !important;
}

.header .navbar-nav .nav-link {
    color: var(--lds-charcoal) !important;
    font-weight: 600 !important;
}

.header .navbar-nav .nav-link:hover,
.header .navbar-nav .nav-link.active {
    color: var(--lds-green-dark) !important;
}

.home-page .banner,
.banner {
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 214, 0, .24), transparent 28rem),
        linear-gradient(125deg, #fffbea 0%, #fff5b8 54%, #e6faee 100%) !important;
    border-bottom: 1px solid rgba(18, 140, 126, .14) !important;
}

.home-page .banner .title,
.home-page .banner .desc,
.banner .title,
.banner .desc {
    color: var(--lds-charcoal) !important;
}

.home-page .features,
.home-page .pricing,
.home-page .faqs,
.pricing-page,
.login-page,
.signup-page,
.forgot-password-page {
    background: transparent !important;
}

.section:nth-of-type(even) {
    background: linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(233, 251, 241, .42)) !important;
}

.card,
.item,
.feature-item,
.pricing-table,
.pricing-card,
.login-form,
.auth-form,
.home-page .features .item,
.home-page .pricing .item {
    color: var(--lds-text) !important;
    background: var(--lds-paper) !important;
    border: 1px solid rgba(18, 140, 126, .14) !important;
    border-top: 3px solid var(--lds-yellow) !important;
    box-shadow: 0 14px 36px rgba(23, 28, 25, .08) !important;
}

.card:hover,
.item:hover,
.feature-item:hover,
.pricing-card:hover {
    border-color: rgba(18, 140, 126, .38) !important;
    border-top-color: var(--lds-green) !important;
    box-shadow: 0 20px 44px rgba(18, 140, 126, .12) !important;
    transform: translateY(-2px);
}

h1, h2, h3, h4, h5, h6,
.title,
.section-title,
.heading {
    color: var(--lds-charcoal) !important;
}

p,
.desc,
.description,
.subtitle,
.text-muted {
    color: var(--lds-muted) !important;
}

a { color: var(--lds-green-dark); }
a:hover { color: var(--lds-green-deep); }

.btn-primary {
    color: #111513 !important;
    background: var(--lds-yellow) !important;
    border-color: var(--lds-yellow-line) !important;
    box-shadow: 0 8px 18px rgba(255, 214, 0, .20) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    color: #ffffff !important;
    background: var(--lds-charcoal) !important;
    border-color: var(--lds-charcoal) !important;
}

.btn-success,
.btn-secondary,
.header .nav-btn-login .btn-dashboard {
    color: #ffffff !important;
    background: var(--lds-green-dark) !important;
    border-color: var(--lds-green-dark) !important;
    box-shadow: 0 8px 18px rgba(18, 140, 126, .16) !important;
}

.btn-success:hover,
.btn-secondary:hover,
.header .nav-btn-login .btn-dashboard:hover {
    color: #ffffff !important;
    background: var(--lds-green-deep) !important;
    border-color: var(--lds-green-deep) !important;
}

.form-control,
.form-select,
textarea {
    color: var(--lds-text) !important;
    background-color: #ffffff !important;
    border-color: #dce5df !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: var(--lds-green) !important;
    box-shadow: 0 0 0 3px rgba(37, 211, 102, .14) !important;
}

.login-page .login-box,
.login-page .login-form,
.auth-page .login-box {
    border-top-color: var(--lds-yellow) !important;
}

.login-page .bg-login-page,
.login-page .login-info,
.auth-page .login-info {
    background: linear-gradient(145deg, var(--lds-green-deep), var(--lds-green-dark)) !important;
}

.accordion-item,
.faq-item {
    background: var(--lds-paper) !important;
    border-color: rgba(18, 140, 126, .16) !important;
}

.accordion-button:not(.collapsed) {
    color: var(--lds-green-deep) !important;
    background: var(--lds-green-soft) !important;
}

.footer {
    color: rgba(255, 255, 255, .78) !important;
    background: linear-gradient(135deg, #111513, #202823) !important;
    border-top: 4px solid var(--lds-yellow) !important;
}

.scroll-top .icon,
.scroll-top {
    color: #ffffff !important;
    /* background: var(--lds-green-dark) !important; */
    border-color: var(--lds-green) !important;
}

@media (prefers-reduced-motion: reduce) {
    .card,
    .item,
    .feature-item,
    .pricing-card { transition: none !important; }
}

/* Homepage readability fixes: override the legacy dark-card palette. */
body .home-page .features .item,
body .home-page .core-feature .item,
body .home-page .rating .item,
body .home-page .pricing .item,
body .pricing .item {
    color: var(--lds-text) !important;
    background-color: var(--lds-paper) !important;
    background-image: none !important;
    border-color: rgba(18, 140, 126, .17) !important;
    border-top-color: var(--lds-yellow) !important;
}

body .home-page .features .item h1,
body .home-page .features .item h2,
body .home-page .features .item h3,
body .home-page .features .item h4,
body .home-page .features .item h5,
body .home-page .features .item .desc,
body .home-page .core-feature .item,
body .home-page .core-feature .item h1,
body .home-page .core-feature .item h2,
body .home-page .core-feature .item h3,
body .home-page .core-feature .item h4,
body .home-page .core-feature .item h5,
body .home-page .core-feature .item .text-gray-600,
body .home-page .rating .item,
body .home-page .rating .item h3,
body .home-page .rating .item .text-gray-600,
body .home-page .pricing .item,
body .home-page .pricing .item h1,
body .home-page .pricing .item h2,
body .home-page .pricing .item h3,
body .home-page .pricing .item .text-gray-600,
body .pricing .item,
body .pricing .item .text-gray-600,
body .pricing .pricing-price {
    color: var(--lds-text) !important;
}

body .home-page .features .item .desc,
body .home-page .core-feature .item .text-gray-600,
body .home-page .rating .item .text-gray-600,
body .home-page .pricing .item .text-gray-600 {
    color: var(--lds-muted) !important;
}

body .home-page .features .item .icon,
body .home-page .core-feature .item .icon,
body .home-page .core-feature .border-primary {
    color: var(--lds-green-deep) !important;
    background: var(--lds-yellow-soft) !important;
    border: 2px solid var(--lds-yellow) !important;
    box-shadow: 0 8px 18px rgba(255, 214, 0, .16) !important;
}

body .home-page .features .item .icon i,
body .home-page .core-feature .item i,
body .home-page .core-feature .border-primary i {
    color: var(--lds-green-deep) !important;
    opacity: 1 !important;
}

body .home-page .features .item:hover,
body .home-page .core-feature .item:hover,
body .home-page .rating .item:hover,
body .home-page .pricing .item:hover {
    color: var(--lds-text) !important;
    background-color: #ffffff !important;
    border-color: var(--lds-green) !important;
}

body .home-page .features > .row:last-child > .col-md-5 > .bg-primary {
    color: #ffffff !important;
    background: linear-gradient(145deg, var(--lds-green-deep), var(--lds-green-dark)) !important;
    border: 1px solid rgba(37, 211, 102, .35) !important;
    box-shadow: 0 14px 34px rgba(7, 94, 84, .18) !important;
}

body .home-page .features > .row:last-child > .col-md-5 > .bg-primary h5,
body .home-page .features > .row:last-child > .col-md-5 > .bg-primary p,
body .home-page .features > .row:last-child > .col-md-5 > .bg-primary .text-white {
    color: #ffffff !important;
}

body .home-page .core-feature .bg-gray-100 {
    color: #ffffff !important;
    background: linear-gradient(145deg, var(--lds-green-deep), #0c766a) !important;
    border: 1px solid rgba(37, 211, 102, .34) !important;
    box-shadow: 0 16px 38px rgba(7, 94, 84, .16) !important;
}

body .home-page .core-feature .bg-gray-100 > div h1 {
    color: var(--lds-yellow) !important;
}

body .home-page .core-feature .bg-gray-100 > div h5 {
    color: rgba(255, 255, 255, .84) !important;
}

body .home-page .rating .item {
    border-left: 4px solid var(--lds-green) !important;
}

body .home-page .rating .item > div:not(.mb-3):not(.d-flex) {
    color: #4e5852 !important;
}

body .home-page .pricing > .mw-800 h1,
body .home-page .pricing > .mw-800 h5,
body .home-page .pricing > .mw-800 label {
    color: var(--lds-charcoal) !important;
}

body .home-page .pricing .pricing-feature-head,
body .home-page .pricing .pricing-head h1 {
    color: var(--lds-green-deep) !important;
}

body .home-page .faqs {
    color: #ffffff !important;
    background:
        radial-gradient(circle at 85% 18%, rgba(255, 214, 0, .12), transparent 24rem),
        linear-gradient(145deg, var(--lds-green-deep), #0c766a) !important;
}

body .home-page .faqs h1 { color: var(--lds-yellow) !important; }
body .home-page .faqs h5 { color: rgba(255, 255, 255, .82) !important; }

body .home-page .faqs .accordion-item,
body .home-page .faqs .accordion-button,
body .home-page .faqs .accordion-body {
    color: var(--lds-text) !important;
    background: var(--lds-paper) !important;
}

body .home-page .faqs .accordion-button::after { opacity: .8 !important; }

/* Footer: clear structure, visible logo and accessible links/icons. */
body .footer {
    position: relative;
    color: rgba(255, 255, 255, .78) !important;
    background: linear-gradient(135deg, #101512 0%, #18211c 56%, #0b443d 100%) !important;
    border-top: 5px solid var(--lds-yellow) !important;
    box-shadow: 0 -14px 38px rgba(21, 25, 23, .10) !important;
}

body .footer .footer-bg { display: none !important; }

body .footer .footer-top {
    padding-top: 64px !important;
    padding-bottom: 28px !important;
}

body .footer .h-55 {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    min-height: 56px !important;
    align-items: center !important;
    padding: 8px 13px !important;
    background: #ffd600 !important;
    border-radius: 12px !important;
    box-shadow: 0 9px 22px rgba(255, 214, 0, .16) !important;
}

body .footer .h-55 img {
    width: auto !important;
    max-width: 205px !important;
    height: 48px !important;
    object-fit: contain !important;
}

body .footer .text-primary,
body .footer .fw-6.fs-18 {
    color: var(--lds-yellow) !important;
}

body .footer .text-gray-600,
body .footer p {
    color: rgba(255, 255, 255, .70) !important;
    line-height: 1.75 !important;
}

body .footer ul {
    margin: 16px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body .footer ul li { margin-bottom: 10px !important; }

body .footer a,
body .footer .text-gray-700 {
    color: rgba(255, 255, 255, .84) !important;
    text-decoration: none !important;
}

body .footer a:hover,
body .footer a:focus {
    color: var(--lds-green) !important;
}

body .footer li.d-inline a {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111513 !important;
    background: var(--lds-yellow) !important;
    border-radius: 50% !important;
}

body .footer li.d-inline a:hover {
    color: #ffffff !important;
    background: var(--lds-green-dark) !important;
}

body .footer .footer-bottom {
    color: rgba(255, 255, 255, .64) !important;
    border-top-color: rgba(255, 255, 255, .14) !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

@media (max-width: 767.98px) {
    body .footer .footer-top { padding-top: 44px !important; }
    body .footer .h-55 { margin-left: auto !important; margin-right: auto !important; }
    body .footer ul li { margin-bottom: 8px !important; }
}

/* Premium page backgrounds and section framing. */
body {
    background:
        radial-gradient(circle at 8% 4%, rgba(255, 214, 0, .17), transparent 30rem),
        radial-gradient(circle at 94% 18%, rgba(37, 211, 102, .13), transparent 34rem),
        linear-gradient(180deg, #fbfcf7 0%, #f2f6ef 52%, #faf8ed 100%) !important;
    background-attachment: fixed !important;
}

body .home-page {
    background:
        linear-gradient(90deg, rgba(18, 140, 126, .025) 1px, transparent 1px),
        linear-gradient(rgba(18, 140, 126, .025) 1px, transparent 1px) !important;
    background-size: 38px 38px !important;
}

body .home-page .banner {
    background:
        radial-gradient(circle at 13% 18%, rgba(255, 214, 0, .32), transparent 28rem),
        radial-gradient(circle at 88% 82%, rgba(37, 211, 102, .20), transparent 30rem),
        linear-gradient(125deg, #fffdf2 0%, #fff2a9 52%, #e4f9ec 100%) !important;
    border-bottom: 1px solid rgba(18, 140, 126, .18) !important;
    box-shadow: 0 22px 54px rgba(21, 25, 23, .08) !important;
}

body .home-page .feature-marque {
    padding: 24px 18px !important;
    background:
        radial-gradient(circle at 0 50%, rgba(255, 214, 0, .13), transparent 18rem),
        rgba(255, 255, 250, .88) !important;
    border: 1px solid rgba(18, 140, 126, .12) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 34px rgba(21, 25, 23, .07) !important;
    backdrop-filter: blur(10px);
}

body .home-page .feature-marque .mItem {
    box-shadow: 0 7px 16px rgba(7, 94, 84, .13) !important;
}

body .home-page > .features.container,
body .home-page > .core-feature.container,
body .home-page > .rating.container,
body .home-page > .pricing.container {
    position: relative;
    padding: 58px 50px !important;
    overflow: hidden;
    border-radius: 34px !important;
    border: 1px solid rgba(18, 140, 126, .13) !important;
    box-shadow: 0 20px 54px rgba(21, 25, 23, .08) !important;
}

body .home-page > .features.container {
    background:
        radial-gradient(circle at 4% 8%, rgba(255, 214, 0, .20), transparent 21rem),
        radial-gradient(circle at 96% 92%, rgba(37, 211, 102, .14), transparent 24rem),
        linear-gradient(145deg, #fffef8, #f3fbf6) !important;
}

body .home-page > .core-feature.container {
    background:
        linear-gradient(135deg, rgba(255, 214, 0, .065) 25%, transparent 25%) 0 0 / 52px 52px,
        linear-gradient(315deg, rgba(37, 211, 102, .055) 25%, transparent 25%) 0 0 / 52px 52px,
        #fffef9 !important;
}

body .home-page > .rating.container {
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 214, 0, .18), transparent 23rem),
        radial-gradient(circle at 88% 75%, rgba(37, 211, 102, .15), transparent 26rem),
        linear-gradient(145deg, #fffdf2, #eff9f3) !important;
}

body .home-page > .pricing.container {
    background:
        linear-gradient(120deg, rgba(255, 214, 0, .11), transparent 33%),
        radial-gradient(circle at 92% 12%, rgba(37, 211, 102, .16), transparent 24rem),
        #fffef9 !important;
}

body .home-page > .core-feature.container > .row,
body .home-page > .rating.container > .row,
body .home-page > .pricing.container > .row {
    position: relative;
    z-index: 1;
}

body .home-page .core-feature > .row:not(:last-child) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 28px !important;
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(18, 140, 126, .10) !important;
    border-radius: 26px !important;
    box-shadow: 0 12px 30px rgba(21, 25, 23, .055) !important;
}

body .home-page .rating .item,
body .home-page .pricing .item {
    box-shadow: 0 14px 34px rgba(21, 25, 23, .09) !important;
}

body .home-page .faqs {
    border-top: 1px solid rgba(255, 214, 0, .34) !important;
    border-bottom: 1px solid rgba(255, 214, 0, .34) !important;
    box-shadow: inset 0 20px 55px rgba(0, 0, 0, .07), 0 20px 52px rgba(7, 94, 84, .12) !important;
}

body .login-page,
body .signup-page,
body .forgot-password-page,
body .pricing-page {
    background:
        radial-gradient(circle at 10% 12%, rgba(255, 214, 0, .19), transparent 28rem),
        radial-gradient(circle at 90% 82%, rgba(37, 211, 102, .15), transparent 32rem),
        linear-gradient(145deg, #fafbf5, #f0f7f2) !important;
}

@media (max-width: 991.98px) {
    body .home-page > .features.container,
    body .home-page > .core-feature.container,
    body .home-page > .rating.container,
    body .home-page > .pricing.container {
        padding: 42px 28px !important;
        border-radius: 26px !important;
    }
}

@media (max-width: 767.98px) {
    body { background-attachment: scroll !important; }

    body .home-page .banner {
        max-width: calc(100% - 24px) !important;
        overflow: hidden !important;
    }

    body .home-page .banner .row,
    body .home-page .banner .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
    }

    body .home-page .banner .title {
        max-width: 100% !important;
        font-size: clamp(31px, 9.2vw, 38px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
    }

    body .home-page .banner .desc {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    body .home-page .feature-marque {
        padding: 18px 10px !important;
        border-radius: 18px !important;
    }

    body .home-page > .features.container,
    body .home-page > .core-feature.container,
    body .home-page > .rating.container,
    body .home-page > .pricing.container {
        width: calc(100% - 24px) !important;
        padding: 34px 18px !important;
        border-radius: 22px !important;
    }

    body .home-page .core-feature > .row:not(:last-child) {
        padding: 18px 8px !important;
        border-radius: 20px !important;
    }
}
