html {
    scroll-behavior: smooth;
    background-color: #000000;
    /* Prevent white gap at bottom */
    scroll-padding-top: 100px;
    overflow-x: hidden;
    /* Prevent horizontal scroll globally */
}

body {
    background-color: #000000;
    /* Ensure body background is black to prevent white lines */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    overflow-x: hidden;
    /* Prevent horizontal scroll */
}

/* ============================== */
/* === MOBILE LAYOUT FIXES ====== */
/* ============================== */

/* --- Preloader: Center on all screen sizes --- */
@media (max-width: 767px) {
    #preloader {
        padding: 0 1rem;
    }

    #preloader .preloader-premium-content {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    #preloader .preloader-logo {
        height: 5rem !important;
        width: auto !important;
    }

    #preloader .preloader-bar-wrap {
        width: 80% !important;
        max-width: 14rem;
        margin-left: auto;
        margin-right: auto;
    }

    #preloader .preloader-text {
        font-size: 0.7rem;
        text-align: center;
    }
}

/* --- Hero Section: Mobile responsive --- */
@media (max-width: 767px) {
    #home {
        min-height: 100svh;
        /* Use small viewport height for mobile browsers */
    }

    /* Hero content container mobile padding */
    .hero-content-container {
        padding-top: 5rem !important;
        padding-bottom: 2rem !important;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Smaller logo on mobile */
    .hero-logo img {
        height: 5rem !important;
    }

    .hero-logo {
        margin-bottom: 1rem !important;
    }

    /* Hero text sizing for mobile */
    .hero-text h1 {
        font-size: 1.75rem !important;
        line-height: 1.3 !important;
        margin-bottom: 0.5rem;
    }

    .hero-text p {
        font-size: 0.95rem !important;
        margin-top: 0.5rem !important;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    /* Hero CTA buttons: flex-wrap to stack on small screens */
    .hero-text .flex,
    .hero-text>div.flex {
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
        margin-top: 1.5rem !important;
        justify-content: center !important;
    }

    .hero-text .flex a,
    .hero-text>div.flex a {
        min-width: 160px !important;
        width: auto !important;
        padding: 0.625rem 1.5rem !important;
        font-size: 0.85rem !important;
    }

    /* Slider nav arrows smaller on mobile */
    #slider-prev,
    #slider-next {
        width: 2rem !important;
        height: 2rem !important;
    }

    #slider-prev i,
    #slider-next i {
        font-size: 0.8rem !important;
    }

    /* Slider dots smaller on mobile */
    #slider-dots .dot {
        width: 0.5rem !important;
        height: 0.5rem !important;
    }
}

/* --- Navbar: Mobile spacing fix --- */
@media (max-width: 767px) {
    nav .flex.items-center.space-x-1\.5 {
        gap: 0.25rem;
    }

    /* Language buttons smaller on mobile */
    .lang-btn {
        padding: 0.15rem 0.35rem !important;
        font-size: 0.6rem !important;
        min-width: 0;
    }

    /* Theme toggle smaller on mobile */
    #theme-toggle {
        width: 2rem !important;
        height: 2rem !important;
        margin-left: 0.25rem !important;
    }

    #theme-toggle i {
        font-size: 1rem !important;
    }

    /* Mobile menu button */
    #mobile-menu-btn {
        width: 2.25rem !important;
        height: 2.25rem !important;
        margin-left: 0.25rem !important;
    }

    /* Navbar height reduce on mobile */
    nav .flex.items-center.justify-between {
        height: 3.5rem !important;
    }

    /* Navbar logo smaller on mobile */
    nav .flex-shrink-0 img {
        height: 2.25rem !important;
    }
}

/* --- Team Carousel: Mobile arrow fix --- */
@media (max-width: 767px) {
    #team-prev {
        left: 0 !important;
        width: 2.25rem !important;
        height: 2.25rem !important;
    }

    #team-next {
        right: 0 !important;
        width: 2.25rem !important;
        height: 2.25rem !important;
    }

    #team-prev i,
    #team-next i {
        font-size: 0.85rem !important;
    }

    /* Team member cards smaller on mobile */
    .team-member {
        width: 8rem !important;
    }

    .team-member .flip-card {
        width: 8rem !important;
        height: 10rem !important;
    }

    .team-member h3 {
        font-size: 0.7rem !important;
        min-height: 2rem !important;
    }

    .team-member p {
        font-size: 0.6rem !important;
        min-height: 1.5rem !important;
    }

    /* Team dots smaller */
    #team-dots button {
        width: 0.5rem !important;
        height: 0.5rem !important;
    }
}

/* --- Business cards: Mobile improvements --- */
@media (max-width: 767px) {
    #businesses .grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 0 0.25rem;
    }

    .business-card {
        padding: 1.25rem !important;
    }

    /* Show hover buttons always on mobile (no hover) */
    .business-card .opacity-0.group-hover\:opacity-100 {
        opacity: 1 !important;
    }
}

/* --- Sponsor Section: Mobile layout --- */
@media (max-width: 767px) {
    #sponsors .grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    #sponsors .grid>div,
    #sponsors .grid>a {
        padding: 1.5rem !important;
    }

    #sponsors .w-32 {
        width: 5rem !important;
        height: 5rem !important;
    }

    #sponsors h3 {
        font-size: 1.25rem !important;
    }
}

/* --- Footer: Mobile layout --- */
@media (max-width: 767px) {
    footer .grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    footer {
        padding-top: 2rem !important;
    }

    footer h4 {
        font-size: 1rem !important;
    }

    footer .text-sm {
        font-size: 0.8rem !important;
    }

    /* Footer social icons */
    footer .flex.space-x-4 {
        justify-content: center;
    }

    /* Footer map iframe */
    footer iframe {
        height: 120px !important;
    }

    /* Footer copyright */
    footer .footer-copyright,
    footer .border-t {
        padding-top: 1rem !important;
        margin-top: 1rem !important;
    }
}

/* --- About Section: Mobile layout fix --- */
@media (max-width: 767px) {
    #about .grid {
        gap: 1.5rem !important;
    }

    #about h2 {
        font-size: 1.5rem !important;
    }

    #about p {
        font-size: 0.9rem !important;
    }

    /* Section padding reduce on mobile */
    section.py-20 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    section.py-12 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    /* Section headings */
    .text-3xl {
        font-size: 1.5rem !important;
    }

    .text-gradient {
        font-size: inherit;
    }

    /* Section subtitle */
    .mb-16 {
        margin-bottom: 2rem !important;
    }
}

/* --- Contact Page: Mobile hero and form fixes --- */
@media (max-width: 767px) {

    /* Contact hero section */
    section.pt-32 {
        padding-top: 5rem !important;
        padding-bottom: 2rem !important;
    }

    /* Contact cards grid */
    .contact-card {
        padding: 1.25rem !important;
    }

    /* Contact form and map layout */
    .grid.grid-cols-1.lg\\:grid-cols-2 {
        gap: 1rem !important;
    }

    /* Map min-height for mobile */
    iframe[style*="min-height: 500px"] {
        min-height: 250px !important;
    }
}

/* --- About Page: Mobile specific fixes --- */
@media (max-width: 767px) {

    /* About hero section */
    section.pt-32.pb-12 {
        padding-top: 5rem !important;
        padding-bottom: 1.5rem !important;
    }

    /* About page stat numbers */
    .flex.items-center.gap-4 {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem !important;
    }

    /* Value cards grid */
    .value-card {
        padding: 1.25rem !important;
    }

    /* About CTA section */
    section.py-20.bg-gradient-to-r {
        padding: 2.5rem 1rem !important;
    }

    section.py-20.bg-gradient-to-r h2 {
        font-size: 1.5rem !important;
    }

    section.py-20.bg-gradient-to-r p {
        font-size: 1rem !important;
    }

    /* Registration certificate */
    .grid.grid-cols-1.lg\\:grid-cols-2 img {
        max-width: 100%;
        height: auto;
    }
}

/* Ensure no line appears after footer for Tamil/Sinhala */
.font-complex body {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.font-complex html {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    background-color: #f3f4f6;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 1s ease-in-out;
    will-change: transform;
    /* Centering content for Slide 1 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* --- SUPPORTER SLIDER CSS --- */
.supporter-container {
    position: relative;
    width: 100%;
    height: 300px;
    /* Fixed height for the text box */
    overflow: hidden;
}

.supporter-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
    opacity: 0;
    transform: scale(0.95);
}

.supporter-slide.active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}

/* Utility to stop animation during reset */
.no-transition {
    transition: none !important;
}

/* Initial positions for sliding logic (Hero) */
.slide.active {
    transform: translateX(0);
    z-index: 2;
}

.slide.next {
    transform: translateX(100%);
    z-index: 1;
}

.slide.prev {
    transform: translateX(-100%);
    z-index: 1;
}

.slide.hidden-slide {
    transform: translateX(100%);
    z-index: 0;
}

/* Text Shadow & Gradient */
.hero-text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.text-gradient {
    background: linear-gradient(135deg, #3b82f6 0%, #2dd4bf 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.dark .glass {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Hero Dot Indicators (White) */
.dot {
    transition: all 0.3s ease;
}

.dot.active {
    background-color: #2563EB;
    opacity: 1;
    transform: scale(1.2);
}

/* Supporter Dot Indicators (Blue/Gray for white background) */
.supporter-dot {
    transition: all 0.3s ease;
    background-color: #CBD5E1;
    /* Slate-300 inactive */
}

.supporter-dot.active {
    background-color: #2563EB;
    /* Blue-600 active */
    transform: scale(1.2);
}

.supporter-dot:hover {
    background-color: #94A3B8;
}

/* --- TEAM FLIP CARD ANIMATION --- */
.flip-card {
    background-color: transparent;
    perspective: 1000px;
}

#team-carousel {
    display: block;
    overflow: hidden;
    width: 100%;
}

#team-carousel-track {
    display: flex;
    align-items: flex-start;
}

.team-member {
    width: 12rem;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.team-member .flip-card {
    width: 12rem;
    height: 15rem;
}

.team-member h3 {
    min-height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.team-member p {
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (max-width: 1023px) {
    .team-member {
        width: 10rem;
    }

    .team-member .flip-card {
        width: 10rem;
        height: 12.5rem;
    }
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 0.75rem;
    /* rounded-xl */
    overflow: hidden;
}

.flip-card-front {
    background-color: #f3f4f6;
    /* gray-100 placeholder */
}

.flip-card-back {
    transform: rotateY(180deg);
}

/* --- PREMIUM ANIMATIONS --- */
.business-card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.business-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 25px -5px rgba(59, 130, 246, 0.1), 0 10px 10px -5px rgba(59, 130, 246, 0.04);
}

/* Shimmer Effect for Cards */
.business-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right,
            transparent,
            rgba(255, 255, 255, 0.1),
            transparent);
    transform: skewX(-25deg);
    transition: 0.75s;
}

.business-card:hover::before {
    left: 125%;
}

/* Glassmorphism Hover */
.glass-nav {
    transition: background 0.3s ease, backdrop-filter 0.3s ease;
}

/* Footer Animation */
footer {
    animation: fadeIn 1.5s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* --- Language Specific Adjustments --- */
.font-complex .hero-text h1,
.font-complex #hero-text h1 {
    font-size: 2rem !important;
    line-height: 1.3 !important;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {

    .font-complex .hero-text h1,
    .font-complex #hero-text h1 {
        font-size: 3rem !important;
    }
}

/* Reduce logo size for Tamil/Sinhala to fit everything on screen */
.font-complex .hero-logo img {
    height: 6rem !important;
    /* 24 in Tailwind = 6rem */
}

@media (min-width: 768px) {
    .font-complex .hero-logo img {
        height: 8rem !important;
        /* 32 in Tailwind = 8rem */
    }
}

/* Adjust spacing for Tamil/Sinhala */
.font-complex .hero-logo {
    margin-bottom: 1rem;
}

.font-complex .hero-text p {
    margin-top: 0.5rem;
    font-size: 1rem;
}

@media (min-width: 768px) {
    .font-complex .hero-text p {
        font-size: 1.125rem;
    }
}

.font-complex .hero-text .flex {
    margin-top: 1.5rem;
}

/* Adjust slide padding for complex fonts */
.font-complex .slide .hero-content-container {
    padding-top: 5rem;
    padding-bottom: 3rem;
}

/* Ensure buttons keep their rounded shape with taller fonts - OVERRIDE TAILWIND */
.font-complex .hero-text a[href="#businesses"],
.font-complex .hero-text a[href="contact.html"],
.font-complex #hero-text a[href="#businesses"],
.font-complex #hero-text a[href="contact.html"],
.font-complex .slide .hero-text a,
.font-complex .slide #hero-text a {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.875rem !important;
    width: 185px !important;
    max-width: 185px !important;
    min-width: 185px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {

    .font-complex .hero-text a[href="#businesses"],
    .font-complex .hero-text a[href="contact.html"],
    .font-complex #hero-text a[href="#businesses"],
    .font-complex #hero-text a[href="contact.html"],
    .font-complex .slide .hero-text a,
    .font-complex .slide #hero-text a {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        font-size: 1rem !important;
        width: 210px !important;
        max-width: 210px !important;
        min-width: 210px !important;
    }
}

/* Premium Preloader */
.preloader-premium {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
}

.dark .preloader-premium {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}

.preloader-premium-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 50% at 50% 50%, rgba(59, 130, 246, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 50% 60%, rgba(6, 182, 212, 0.08) 0%, transparent 45%);
    animation: preloader-bg-pulse 3s ease-in-out infinite;
}

.dark .preloader-premium-bg {
    background: radial-gradient(ellipse 80% 50% at 50% 50%, rgba(59, 130, 246, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 50% 60%, rgba(6, 182, 212, 0.06) 0%, transparent 45%);
}

@keyframes preloader-bg-pulse {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

.preloader-logo-wrap {
    animation: preloader-logo-in 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.preloader-logo {
    filter: drop-shadow(0 0 24px rgba(59, 130, 246, 0.25));
    animation: preloader-logo-pulse 1.8s ease-in-out infinite 0.8s;
}

@keyframes preloader-logo-in {
    0% {
        opacity: 0;
        transform: scale(0.85);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes preloader-logo-pulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.92;
        transform: scale(1.02);
    }
}

.preloader-bar-wrap {
    opacity: 0;
    animation: preloader-bar-in 0.5s ease-out 0.4s forwards;
}

.preloader-bar-track {
    height: 4px;
    border-radius: 9999px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
    position: relative;
}

.dark .preloader-bar-track {
    background: rgba(255, 255, 255, 0.08);
}

.preloader-bar-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    border-radius: 9999px;
    background: linear-gradient(90deg, #3b82f6, #06b6d4);
    animation: preloader-bar-fill 1.6s ease-in-out infinite;
}

.preloader-bar-shine {
    position: absolute;
    left: -100%;
    top: 0;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    animation: preloader-bar-shine 1.6s ease-in-out infinite;
}

@keyframes preloader-bar-fill {
    0% {
        width: 0;
        left: 0;
    }

    45% {
        width: 70%;
        left: 0;
    }

    55% {
        width: 70%;
        left: 30%;
    }

    100% {
        width: 0;
        left: 100%;
    }
}

@keyframes preloader-bar-shine {
    0% {
        left: -60%;
    }

    50% {
        left: 120%;
    }

    100% {
        left: -60%;
    }
}

@keyframes preloader-bar-in {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.preloader-text {
    opacity: 0;
    color: rgba(30, 41, 59, 0.85);
    animation: preloader-text-in 0.5s ease-out 0.6s forwards;
    letter-spacing: 0.2em;
}

.dark .preloader-text {
    color: rgba(255, 255, 255, 0.9);
}

@keyframes preloader-text-in {
    0% {
        opacity: 0;
        transform: translateY(6px);
    }

    100% {
        opacity: 0.8;
        transform: translateY(0);
    }
}

#preloader.fade-out {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease-out;
}

#preloader.fade-out .preloader-premium-content {
    transform: scale(0.98);
    opacity: 0;
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

/* Fix white line issue for Tamil/Sinhala in footer area */
.font-complex #team {
    margin-bottom: 0 !important;
}

.font-complex footer,
.font-complex #contact {
    margin-top: 0 !important;
}

/* Fix for bottom line in footer */
footer {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 2.5rem !important;
}

/* Ensure no extra borders appear at bottom for any language */
footer>div>div:last-child {
    border-bottom: none !important;
}

footer>div>div:last-child p {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Add gap between team and footer */
#team {
    margin-bottom: 2rem;
}

/* Fix white line issue ONLY for Tamil/Sinhala languages */
.font-complex #team {
    margin-bottom: 0 !important;
}

.font-complex footer {
    margin-top: 0 !important;
}

/* Fix extra horizontal line at bottom of footer for Tamil/Sinhala */
.font-complex footer,
.font-complex #contact {
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding-bottom: 2.5rem !important;
    margin-bottom: 0 !important;
    background-color: #000000 !important;
    height: auto !important;
    min-height: auto !important;
}

.font-complex body footer,
.font-complex html footer {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

.font-complex footer::after,
.font-complex footer::before {
    display: none !important;
    content: none !important;
}

/* Show separator line above copyright for all languages */
.font-complex footer .border-t,
.font-complex footer .footer-copyright {
    border-top: 1px solid #374151 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}

.font-complex footer .border-t p {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.font-complex footer>div {
    border-bottom: none !important;
    border-top: none !important;
    outline: none !important;
}

.font-complex footer>div>div:last-child,
.font-complex footer .footer-copyright {
    border-bottom: none !important;
    border-top: 1px solid #374151 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 2rem !important;
    outline: none !important;
}

.font-complex footer>div>div:last-child::after,
.font-complex footer>div>div:last-child::before {
    display: none !important;
    content: none !important;
}

/* Ensure body/html don't add borders for Tamil/Sinhala */
.font-complex body footer,
.font-complex html footer {
    border-bottom: none !important;
    outline: none !important;
}

/* Comprehensive fix for any remaining border issues */
.font-complex footer * {
    border-bottom: none !important;
}

.font-complex footer *:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* Remove any pseudo-elements that might create lines */
.font-complex footer *::after,
.font-complex footer *::before {
    border-bottom: none !important;
}

/* Ensure the copyright paragraph specifically has no bottom border */
.font-complex footer p[data-i18n="footer.copyright"] {
    border-bottom: none !important;
    border-top: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Separator line above copyright - visible for all languages */
.font-complex footer .border-t.border-gray-800 {
    border-top: 1px solid #374151 !important;
    border-bottom: none !important;
}

.font-complex footer>div:last-child {
    border-top: none !important;
    border-bottom: none !important;
}

/* Ensure footer container has no bottom border */
.font-complex footer>div {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove any potential line from body/html after footer */
.font-complex body::after,
.font-complex html::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Ensure no border on any footer child */
.font-complex footer * {
    border-bottom: none !important;
}

.font-complex footer *:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}