/* ============================================================
   TASHTIB - Pixel-Perfect Landing Page CSS
   Matching provided mockup design
   ============================================================ */

:root {
    --tp-orange: #ee7623;
    --tp-orange-dark: #d96213;
    --tp-orange-light: #fff7ed;
    --tp-orange-100: #ffedd5;
    --tp-dark: #1a1a2e;
    --tp-gray: #6b7280;
    --tp-bg: #f8f9fc;
    --tp-white: #ffffff;
    --tp-transition: .3s ease;
    --theme-default: #ee7623 !important;
    --theme-secondary: #1a1a2e !important;
}

/* BASE */
.tp {
    font-family: 'Cairo', sans-serif;
    color: var(--tp-dark);
    background: var(--tp-white);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

.fw-black {
    font-weight: 900 !important;
}

.tp-orange {
    color: var(--tp-orange) !important;
}

.tp-bg-light {
    background: var(--tp-bg) !important;
}

.tp-section {
    padding: 4.5rem 0;
}

/* NAVBAR */
.tp-nav {
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(238, 118, 35, .08);
    padding: .6rem 0;
    transition: var(--tp-transition);
}

.tp-nav-scrolled {
    box-shadow: 0 2px 20px rgba(0, 0, 0, .06);
    background: rgba(255, 255, 255, .98);
}

.tp-logo-text {
    font-weight: 900;
    font-size: 1.3rem;
    color: var(--tp-orange);
}

.tp-nav .nav-link {
    font-weight: 700;
    font-size: .88rem;
    color: var(--tp-gray);
    padding: .5rem .85rem !important;
    transition: var(--tp-transition);
    border-radius: 8px;
}

.tp-nav .nav-link:hover,
.tp-nav .nav-link.active {
    color: var(--tp-orange);
    background: var(--tp-orange-light);
}

/* BUTTONS */
.tp-btn {
    background: var(--tp-orange);
    color: #fff;
    border: none;
    transition: var(--tp-transition);
}

.tp-btn:hover {
    background: var(--tp-orange-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(238, 118, 35, .3);
}

.tp-btn-outline {
    background: transparent;
    color: var(--tp-dark);
    border: 2px solid var(--tp-orange-100);
    transition: var(--tp-transition);
}

.tp-btn-outline:hover {
    border-color: var(--tp-orange);
    color: var(--tp-orange);
    background: var(--tp-orange-light);
}

/* HERO */
.tp-hero {
    padding: 3rem 0 2rem;
    background: linear-gradient(180deg, var(--tp-white) 0%, var(--tp-bg) 100%);
    overflow: hidden;
}

.tp-hero-title {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 900;
    line-height: 1.3;
}

.tp-hero-desc {
    font-size: 1.05rem;
    color: var(--tp-gray);
    line-height: 1.9;
}

.tp-hero-meta strong {
    font-size: 1.1rem;
    color: var(--tp-dark);
}

/* Hero Visual */
.tp-hero-visual {
    position: relative;
    min-height: 400px;
}

.tp-phone-frame {
    position: relative;
    z-index: 2;
}

.tp-phone-img {
    max-height: 420px;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .12));
}

/* Floating Chips */
.tp-float-chip {
    position: absolute;
    background: var(--tp-white);
    border: 1px solid var(--tp-orange-100);
    padding: .4rem .9rem;
    border-radius: 50px;
    font-size: .75rem;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .06);
    white-space: nowrap;
    z-index: 3;
    animation: floaty 3s ease-in-out infinite;
}

.tp-fc-1 {
    top: 5%;
    right: -20px;
    animation-delay: 0s;
}

.tp-fc-2 {
    top: 25%;
    left: -30px;
    animation-delay: .5s;
}

.tp-fc-3 {
    top: 55%;
    left: -20px;
    animation-delay: 1s;
}

.tp-fc-4 {
    top: 45%;
    right: -25px;
    animation-delay: 1.5s;
}

.tp-fc-5 {
    bottom: 20%;
    right: -15px;
    animation-delay: 2s;
}

.tp-fc-6 {
    bottom: 10%;
    left: -25px;
    animation-delay: 2.5s;
}

@keyframes floaty {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* Character */
.tp-character-wrapper {
    position: relative;
    z-index: 2;
    margin-right: -40px;
}

.tp-character-img {
    max-height: 380px;
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .1));
}

.tp-speech-bubble {
    position: absolute;
    top: -10px;
    right: 10px;
    background: var(--tp-white);
    border: 2px solid var(--tp-orange);
    padding: .6rem 1rem;
    border-radius: 16px 16px 0 16px;
    font-size: .8rem;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(238, 118, 35, .15);
    z-index: 5;
    white-space: nowrap;
}

/* HEADINGS */
.tp-heading {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 900;
    margin-bottom: .5rem;
}

/* SERVICES */
.tp-svc {
    padding: 1.5rem 1rem;
    transition: var(--tp-transition);
    border-radius: 16px;
}

.tp-svc:hover {
    background: var(--tp-orange-light);
    transform: translateY(-4px);
}

.tp-svc-icon {
    color: var(--tp-orange);
    font-size: 2.5rem;
    margin-bottom: .75rem;
}

.tp-svc h5 {
    font-weight: 800;
    font-size: .95rem;
    margin-bottom: .4rem;
}

.tp-svc p {
    font-size: .8rem;
    color: var(--tp-gray);
    margin: 0;
    line-height: 1.6;
}

/* STEPS */
.tp-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}

.tp-step {
    text-align: center;
    flex: 1;
    min-width: 130px;
    position: relative;
    padding: 0 .5rem;
}

.tp-step-num {
    width: 32px;
    height: 32px;
    background: var(--tp-orange);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: .85rem;
    margin-bottom: .75rem;
}

.tp-step-icon {
    width: 60px;
    height: 60px;
    border: 2px solid var(--tp-orange-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto .75rem;
    font-size: 1.5rem;
    color: var(--tp-orange);
    background: var(--tp-white);
    transition: var(--tp-transition);
}

.tp-step:hover .tp-step-icon {
    background: var(--tp-orange);
    color: #fff;
    border-color: var(--tp-orange);
}

.tp-step h5 {
    font-weight: 800;
    font-size: .85rem;
    margin-bottom: .3rem;
}

.tp-step p {
    font-size: .75rem;
    color: var(--tp-gray);
    margin: 0;
}

.tp-step-arrow {
    display: flex;
    align-items: center;
    padding-top: 3.5rem;
    color: var(--tp-orange);
    font-size: 1.2rem;
    opacity: .4;
}

/* APP SCREENSHOTS */
.tp-screens-img {
    max-width: 100%;
    border-radius: 16px;
}

/* STATS BAR */
.tp-stats-bar {
    background: var(--tp-bg);
    padding: 2.5rem 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.tp-stat i {
    font-size: 1.8rem;
    color: var(--tp-orange);
    display: block;
    margin-bottom: .5rem;
}

.tp-stat-val {
    font-weight: 900;
    font-size: 1.8rem;
    color: var(--tp-dark);
}

.tp-stat-label {
    font-size: .85rem;
    color: var(--tp-gray);
}

/* CTA */
.tp-cta {
    background: linear-gradient(135deg, var(--tp-orange), #ff973d);
    border-radius: 24px;
    padding: 3rem 2.5rem;
    box-shadow: 0 20px 50px rgba(238, 118, 35, .25);
    position: relative;
    overflow: hidden;
}

.tp-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .2), transparent 50%);
    pointer-events: none;
}

.tp-cta-logo {
    height: 100px;
    opacity: .3;
    filter: brightness(10);
}

.tp-store-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: #000;
    color: #fff;
    padding: .65rem 1.2rem;
    border-radius: 12px;
    text-decoration: none;
    transition: var(--tp-transition);
}

.tp-store-btn:hover {
    background: #222;
    color: #fff;
    transform: translateY(-2px);
}

.tp-store-btn i {
    font-size: 1.5rem;
}

.tp-store-btn small {
    font-size: .6rem;
    opacity: .7;
    display: block;
}

.tp-store-btn strong {
    font-size: .9rem;
    display: block;
}

.tp-qr-box {
    background: rgba(255, 255, 255, .9);
    border-radius: 16px;
    padding: 1.25rem;
    display: inline-block;
    color: var(--tp-dark);
}

/* FOOTER */
.tp-footer {
    background: var(--tp-bg);
    padding: 3rem 0 0;
    border-top: 1px solid #eee;
}

.tp-footer-links {
    font-size: .88rem;
}

.tp-footer-links li {
    margin-bottom: .4rem;
    color: var(--tp-gray);
}

.tp-footer-links a {
    color: var(--tp-gray);
    text-decoration: none;
    transition: var(--tp-transition);
}

.tp-footer-links a:hover {
    color: var(--tp-orange);
}

.tp-social {
    width: 36px;
    height: 36px;
    border: 1px solid #ddd;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--tp-gray);
    text-decoration: none;
    font-size: 1rem;
    transition: var(--tp-transition);
}

.tp-social:hover {
    background: var(--tp-orange);
    color: #fff;
    border-color: var(--tp-orange);
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .tp-hero-visual {
        flex-direction: column;
        align-items: center;
    }

    .tp-character-wrapper {
        margin-right: 0;
        margin-top: -30px;
    }

    .tp-character-img {
        max-height: 280px;
    }

    .tp-phone-img {
        max-height: 320px;
    }

    .tp-float-chip {
        display: none;
    }

    .tp-speech-bubble {
        display: none;
    }

    .tp-step-arrow {
        display: none;
    }

    .tp-steps {
        gap: 1rem;
    }

    .tp-step {
        min-width: 45%;
    }
}

@media (max-width: 576px) {
    .tp-section {
        padding: 3rem 0;
    }

    .tp-cta {
        padding: 2rem 1.25rem;
    }

    .tp-step {
        min-width: 100%;
    }
}

/* ---- Integrated Frontend Sections ---- */
.screenshots.style-4 {
    padding: 140px 0 100px;
    background: #fff;
    /* Changed to white to match hand background */
    position: relative;
    overflow: hidden;
    margin-top: -80px;
}

.screenshots.style-4::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 100%;
    height: 100px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='1' d='M0,160L48,176C96,192,192,224,288,213.3C384,203,480,149,576,144C672,139,768,181,864,181.3C960,181,1056,139,1152,122.7C1248,107,1344,117,1392,122.7L1440,128L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: cover;
    z-index: 5;
}

.screenshots.style-4 .mob-hand {
    z-index: 10;
    max-height: 600px;
    filter: drop-shadow(0 30px 60px rgba(238, 118, 35, 0.15));
}

.screenshots.style-4 .swiper-slide .img {
    border-radius: 20px;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Orange color overrides for integrated elements */
.screenshots.style-4 .screenshots-slider .swiper-slide {
    filter: grayscale(100%);
    opacity: 0.5;
    transition: all 0.4s ease;
}

.screenshots.style-4 .screenshots-slider .swiper-slide.swiper-slide-active {
    filter: grayscale(0%);
    opacity: 1;
}

.numbers.style-6 {
    background: #fff;
    border-top: 1px solid #f0f0f0;
}

.numbers.style-6 .number-card h2 {
    color: var(--tp-orange) !important;
    font-weight: 900;
}

.testimonials.style-6 {
    padding: 100px 0;
    background: #fff;
}

.testimonials.style-6 .testi-slider .icon i {
    color: var(--tp-orange) !important;
    opacity: 0.2;
    font-size: 4rem;
}

.testimonials.style-6 .testi-slider .swiper-button-next,
.testimonials.style-6 .testi-slider .swiper-button-prev {
    background-color: var(--tp-orange) !important;
    color: #fff !important;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: none;
}

.testimonials.style-6 .testi-slider .swiper-button-next::after,
.testimonials.style-6 .testi-slider .swiper-button-prev::after {
    font-size: 16px;
    font-weight: bold;
}

.clients.style-5 {
    padding: 80px 0;
    background: #fff;
    border-top: 1px solid #f0f0f0;
}

.clients.style-5 .section-head h2 span small {
    color: var(--tp-orange) !important;
}

.clients.style-5 .section-head h2 span::after {
    background: var(--tp-orange) !important;
}

/* Fix DataTables Header Alignment in RTL */
html[dir="rtl"] table.dataTable thead th,
html[dir="rtl"] table.dataTable thead td,
html[dir="rtl"] table.dataTable tbody th,
html[dir="rtl"] table.dataTable tbody td,
html[dir="rtl"] .table th,
html[dir="rtl"] .table td {
    text-align: right !important;
}

