/* style.css - دبرلي Platform Main Styles */

/* ============================================ */
/* Design Tokens - CSS Variables                */
/* ============================================ */
:root {
    /* Brand Colors */
    --brand-primary: #089497;
    --brand-primary-dark: #028E94;
    --brand-primary-light: #6DD6DC;
    --brand-secondary: #04294D;
    --brand-secondary-light: #0C2848;

    /* Neutral Colors */
    --text-primary: #191C1D;
    --text-secondary: #434655;
    --text-muted: #6B7280;
    --text-light: #8999A1;
    --text-on-dark: #C3C6D7;

    /* Surface Colors */
    --surface-white: #FFFFFF;
    --surface-light: #F3F4F5;
    --surface-border: rgba(195, 198, 215, 0.3);

    /* State Colors */
    --color-success: #10B981;
    --color-info: #3B82F6;
    --color-warning: #EA580C;
    --color-danger: #DC2626;

    /* Radii */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-pill: 60px;

    /* Shadow */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 12px rgba(2, 142, 148, 0.3);
    --shadow-lg: 0 4px 25px rgba(0, 0, 0, 0.08);

    /* Transition */
    --transition-fast: all 0.3s ease;
}

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

body {
    font-family: 'Tajawal', 'Cairo', sans-serif;
    background: #FFFFFF;
    color: #151C27;
    line-height: 1.6;
    overflow-x: hidden;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Header Styles */
.header {
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(6px);
    border-radius: 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 6px 20px rgba(2,142,148,0.06);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    gap: 20px;
    flex-wrap: wrap;
}

.logo-area {
    display: flex;
    align-items: center;
    gap: 16px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    font-weight: 700;
    color: #006769;
}

.logo i {
    font-size: 28px;
}

/* Logo image styles (replace icon + text) */
.logo a {
    display: inline-block;
    line-height: 1;
}

.logo img {
    height: 72px; /* increased default logo height */
    width: auto;
    display: block;
    object-fit: contain;
}

@media (max-width: 1024px) {
    .logo img {
        height: 64px;
    }
}

@media (max-width: 768px) {
    .logo img {
        height: 56px; /* mobile */
    }
}

.lang-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    font-family: 'Tajawal', sans-serif;
    font-size: 14px;
    color: #3D4949;
    transition: all 0.3s ease;
}

.lang-switch:hover {
    background: #f0f0f0;
}

.main-nav ul {
    display: flex;
    list-style: none;
    gap: 24px;
}

.main-nav a {
    text-decoration: none;
    font-size: 14px;
    color: #3D4949;
    transition: color 0.3s ease;
    padding-bottom: 4px;
}

.main-nav a.active {
    color: #006769;
    border-bottom: 2px solid #006769;
}

.main-nav a:hover {
    color: #006769;
}

.auth-buttons {
    display: flex;
    gap: 12px;
}

.btn-outline {
    background: transparent;
    border: 2px solid #006769;
    padding: 10px 24px;
    border-radius: 8px;
    font-family: 'Tajawal', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #006769;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: #006769;
    color: white;
}

.btn-primary {
    background: #006769;
    border: none;
    padding: 10px 24px;
    border-radius: 8px;
    font-family: 'Tajawal', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.btn-primary:hover {
    background: #028E94;
    transform: translateY(-2px);
}

/* Hero Section */
.hero {
    background: linear-gradient(180deg, rgba(6,96,95,0.06) 0%, rgba(4,41,77,0.02) 100%);
    padding: 25px 0 84px; /* bigger top padding and room for overlapping search */
    position: relative;
}

.hero-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    position: relative;
}

.hero-content {
    flex: 1;
    min-width: 280px;
}

.hero-content h1 {
    font-size: 56px;
    line-height: 68px;
    font-weight: 800;
    color: var(--brand-secondary);
    margin-bottom: 12px;
}

.hero-desc {
    font-size: 18px;
    line-height: 28px;
    color: #3D4949;
    margin-bottom: 24px;
}

.trust-badges {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    margin-bottom: 32px;
}

.trust-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #254047;
    background: rgba(2,142,148,0.06);
    padding: 8px 12px;
    border-radius: 9999px;
    border: 1px solid rgba(2,142,148,0.04);
    white-space: nowrap;
    flex-shrink: 0;
}

.trust-badges i {
    color: #006769;
    font-size: 16px;
}

.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.hero-buttons .btn-outline {
    padding: 12px 26px;
    border-radius: 9999px;
    border: 2px solid rgba(2,142,148,0.18);
    background: transparent;
    color: var(--brand-secondary);
    font-weight: 700;
}

.hero-buttons .btn-primary {
    padding: 12px 26px;
    border-radius: 9999px;
    box-shadow: 0 12px 30px -12px rgba(2,142,148,0.35);
    font-weight: 800;
}

.hero-image {
    flex: 1;
   
    position: relative;
 
    
}

/* .image-placeholder {
    position: relative;
    width: min(100%, 520px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
} */

/* .image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
} */

/* Increase hero image size on smaller screens */
@media (max-width: 1024px) {
    .image-placeholder {
        width: min(80vw, 480px);
    }
}

@media (max-width: 768px) {
    .hero-container {
        gap: 24px;
        padding-left: 12px;
        padding-right: 12px;
    }
    .image-placeholder {
        width: min(92vw, 420px);
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .image-placeholder {
        width: 92vw;
        aspect-ratio: 1 / 1;
    }
}

.avatars {
    display: flex;
    gap: 8px;
}

.avatar {
    width: 40px;
    height: 40px;
    background: #E2E8F0;
    border-radius: 50%;
    border: 2px solid white;
}

.avatar.plus {
    background: #FACC15;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    color: white;
}

.stats .number {
    font-size: 24px;
    font-weight: 800;
    color: #1E293B;
}

.stats .label {
    font-size: 14px;
    color: #94A3B8;
}

/* Search Bar */
.search-bar {
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translateX(-50%);
    width: 92%;
    max-width: 980px;
    background: var(--surface-white);
    border: none;
    border-radius: 9999px;
    padding: 18px;
    box-shadow: 0 30px 50px -20px rgba(2, 142, 148, 0.18);
}

.search-inputs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.input-group {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    padding: 10px 18px;
    border-radius: 9999px;
    border: 1px solid rgba(6,96,95,0.06);
}

.input-group i {
    color: #3D4949;
}

.input-group input,
.input-group select {
    flex: 1;
    border: none;
    outline: none;
    font-family: 'Tajawal', sans-serif;
    font-size: 16px;
    background: transparent;
}

.btn-search {
    background: linear-gradient(90deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);
    padding: 14px 28px;
    border: none;
    border-radius: 9999px;
    color: white;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.btn-search:hover {
    background: #028E94;
}

/* Section Header */
.section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 56px auto 48px;
    max-width: 820px;
}

.section-header h2 {
    font-size: 30px;
    font-weight: 800;
    color: var(--brand-secondary);
    margin: 0;
}

.underline {
    width: 96px;
    height: 4px;
    background: #006769;
    border-radius: 9999px;
    margin: 0 auto 16px;
}

.section-header p {
    font-size: 15px;
    color: #4B5860;
    max-width: 680px;
    margin: 0;
    text-align: center;
}

/* Categories Grid */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.category-card {
    background: white;
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    border-right: 4px solid;
    transition: transform 0.3s ease;
}

.category-card:hover {
    transform: translateY(-5px);
}

.category-card.instant {
    border-right-color: #F97316;
}

.category-card.offline {
    border-right-color: #10B981;
}

.category-card.online {
    border-right-color: #3B82F6;
}

.cat-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 14px;
    margin-bottom: 16px;
}

.instant .cat-badge {
    background: rgba(249, 115, 22, 0.1);
    color: #F97316;
}

.offline .cat-badge {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.online .cat-badge {
    background: rgba(59, 130, 246, 0.1);
    color: #3B82F6;
}

.category-card i {
    font-size: 32px;
    margin-bottom: 16px;
}

.instant i { color: #F97316; }
.offline i { color: #10B981; }
.online i { color: #3B82F6; }

.category-card h3 {
    font-size: 24px;
    margin-bottom: 12px;
    color: #00162A;
}

.category-card p {
    font-size: 16px;
    color: #43474D;
    margin-bottom: 16px;
    line-height: 1.5;
}

.category-card a {
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.instant a { color: #F97316; }
.offline a { color: #10B981; }
.online a { color: #3B82F6; }

/* Why Us Features */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.feature {
    text-align: center;
    padding: 24px;
    background: white;
    border-left: 1px solid #0C2848;
}

.icon-circle {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    border: 1px solid #0C2848;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-circle i {
    font-size: 28px;
    color: #0C2848;
}

.feature h3 {
    font-size: 20px;
    margin-bottom: 12px;
}

.feature p {
    font-size: 16px;
    color: #3D4949;
}

/* Services Section */
.featured-services {
    background: linear-gradient(180deg, #028E94 0%, #0C2848 100%);
    border-radius: 12px;
    margin: 40px 0;
    padding: 40px 24px;
}

.services-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

.services-header h3 {
    font-size: 24px;
    color: white;
}

.view-all {
    color: white;
    text-decoration: none;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
}

.services-scroll {
    overflow-x: auto;
}

.services-grid {
    display: flex;
    gap: 24px;
    min-width: min-content;
}

.service-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    width: 280px;
    transition: transform 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
}

.service-img {
    position: relative;
}

.service-img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.fav-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    padding: 8px;
    border-radius: 50%;
    cursor: pointer;
    backdrop-filter: blur(4px);
}

.service-info {
    padding: 16px;
}

.service-info h4 {
    font-size: 18px;
    margin-bottom: 8px;
}

.location {
    font-size: 14px;
    color: #6B7280;
    margin-bottom: 8px;
}

.rating {
    color: #EAB308;
    margin-bottom: 8px;
}

.price {
    font-size: 14px;
    color: #9CA3AF;
}

.price span {
    color: #089497;
    font-weight: bold;
    font-size: 16px;
}

/* How It Works */
.how-it-works {
    padding: 60px 0;
    background: #FEFFFF;
}

.subtitle {
    color: #006769;
    font-weight: 500;
    text-align: center;
    margin-top: 8px;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 48px;
}

.step {
    text-align: center;
    padding: 32px;
    background: white;
    border-radius: 24px;
    border: 1px solid rgba(195, 198, 215, 0.3);
    position: relative;
}

.step-number {
    width: 64px;
    height: 64px;
    background: #006769;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: white;
    margin: 0 auto 16px;
}

.step i {
    font-size: 32px;
    color: #006769;
    margin-bottom: 16px;
}

.step h3 {
    font-size: 20px;
    margin-bottom: 12px;
}

/* Stats Section */
.stats {
    background: #028E94;
    padding: 40px 0;
    margin: 40px 0;
}

.stats-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 40px;
}

.stat {
    text-align: center;
}

.stat-number {
    font-size: 48px;
    font-weight: 700;
    color: var(--surface-light);
}

.stat-label {
    font-size: 18px;
    color: white;
    opacity: 0.9;
}

/* Craftsmen Section */
.craftsmen {
    padding: 60px 0;
}

.craftsmen h2 {
    text-align: center;
    font-size: 32px;
    margin-bottom: 40px;
}

.craftsmen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}

.craftsman-card {
    background: white;
    border: 1px solid rgba(188, 201, 201, 0.3);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    gap: 16px;
    transition: transform 0.3s ease;
}

.craftsman-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.08);
}

.craftsman-card img {
    width: 96px;
    height: 96px;
    border-radius: 16px;
    object-fit: cover;
}

.craftsman-info h4 {
    font-size: 18px;
    margin-bottom: 4px;
}

.craftsman-info p {
    color: #028E94;
    font-weight: bold;
    margin-bottom: 8px;
}

.btn-sm {
    background: #028E94;
    border: none;
    padding: 8px 24px;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    margin-top: 12px;
    transition: background 0.3s ease;
}

.btn-sm:hover {
    background: #006769;
}

/* About Section */
.about {
    padding: 60px 0;
    background: #FEFFFF;
}

.about-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.about-tag {
    color: #0C2848;
    font-weight: bold;
    font-size: 14px;
}

.about-content h2 {
    font-size: 48px;
    color: #089497;
    margin: 16px 0;
}

.about-content p {
    font-size: 16px;
    line-height: 1.6;
    color: #3D4949;
    margin-bottom: 24px;
}

.mission-vision {
    display: grid;
    gap: 24px;
    margin-top: 24px;
}

.mission-vision h4 {
    font-size: 20px;
    margin-bottom: 8px;
}

.about-image img {
    width: 100%;
    border-radius: 24px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

/* App CTA */
.app-cta {
    background: #089497;
    border-radius: 32px;
    margin: 40px 24px;
    padding: 48px;
}

.app-container {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 48px;
    align-items: center;
}

.app-image img {
    width: 256px;
    border-radius: 40px;
    border: 8px solid #1A1C1C;
}

.app-content h2 {
    font-size: 32px;
    color: white;
    margin-bottom: 16px;
}

.app-content p {
    font-size: 16px;
    color: white;
    opacity: 0.9;
    margin-bottom: 32px;
}

.app-buttons {
    display: flex;
    gap: 16px;
}

.app-btn {
    background: #000000;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 12px 24px;
    border-radius: 12px;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Craftsman CTA */
.craftsman-cta {
    background: #0A1D37;
    border-radius: 40px;
    margin: 40px 24px;
    padding: 60px;
    text-align: center;
}

.cta-content h2 {
    font-size: 48px;
    color: white;
    margin-bottom: 16px;
}

.cta-content p {
    font-size: 18px;
    color: white;
    opacity: 0.9;
    margin-bottom: 32px;
}

.btn-large {
    background: white;
    border: none;
    padding: 16px 80px;
    border-radius: 12px;
    font-size: 24px;
    font-weight: bold;
    color: #089497;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.btn-large:hover {
    transform: scale(1.05);
}

/* Footer */
.footer {
    background: white;
    padding: 60px 0 0;
    margin-top: 60px;
}

.footer-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 40px;
}

.footer-col h3 {
    font-size: 24px;
    margin-bottom: 16px;
}

.newsletter {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.newsletter input {
    padding: 12px;
    border: none;
    background: #EDEEEF;
    border-radius: 12px;
    font-family: 'Tajawal', sans-serif;
}

.newsletter button {
    background: #089497;
    border: none;
    padding: 12px;
    border-radius: 12px;
    color: white;
    font-weight: bold;
    cursor: pointer;
}

.footer-col ul {
    list-style: none;
}

.footer-col li {
    margin-bottom: 12px;
}

.footer-col a {
    text-decoration: none;
    color: #191C1D;
    transition: color 0.3s ease;
}

.footer-col a:hover {
    color: #089497;
}

.footer-bottom {
    border-top: 1px solid rgba(195, 198, 215, 0.3);
    padding: 24px;
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-links {
    display: flex;
    gap: 24px;
}

.footer-links a {
    text-decoration: none;
    color: #191C1D;
    font-size: 12px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .header-container {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap;
    }
    
    .logo-area {
        gap: 10px;
        flex: 1;
        min-width: 0;
    }

    .logo-area .lang-switch,
    .header-container > .auth-buttons {
        display: none !important;
    }

    .main-nav {
        display: none;
        position: absolute;
        top: calc(100% + 12px);
        left: 16px;
        right: 16px;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(2, 142, 148, 0.12);
        border-radius: 20px;
        box-shadow: 0 18px 40px rgba(2, 142, 148, 0.12);
        padding: 12px 0;
        z-index: 1100;
    }

    .main-nav.mobile-open {
        display: block;
    }

    .main-nav ul {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
    }

    .main-nav li {
        width: 100%;
    }

    .main-nav a {
        display: block;
        padding: 14px 20px;
        border-bottom: 1px solid rgba(2, 142, 148, 0.08);
    }

    .main-nav .auth-buttons {
        display: flex !important;
        flex-direction: column;
        gap: 10px;
        padding: 16px 20px 4px;
    }

    .main-nav .auth-buttons button {
        width: 100%;
    }

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

    .menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: none;
        background: transparent;
        color: #006769;
        font-size: 24px;
        padding: 0;
        margin-inline-start: auto;
        cursor: pointer;
        flex: 0 0 auto;
    }
    
    .hero-content h1 {
        font-size: 32px;
        line-height: 44px;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .search-bar {
        position: relative;
        margin-top: 20px;
    }
    
    .about-container,
    .app-container {
        grid-template-columns: 1fr;
    }
    
    .cta-content h2 {
        font-size: 32px;
    }
    
    .btn-large {
        padding: 12px 32px;
        font-size: 18px;
    }
    
    .stats-container {
        flex-direction: column;
        align-items: center;
    }
    
    .craftsman-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 16px;
    }
    
    .trust-badges {
        gap: 12px;
    }
    
    .search-inputs {
        flex-direction: column;
    }
    
    .input-group {
        width: 100%;
    }
    
    .btn-search {
        width: 100%;
    }
}

/* English Language Styles */
body[dir="ltr"] {
    text-align: left;
}

body[dir="ltr"] .trust-badges span,
body[dir="ltr"] .category-card,
body[dir="ltr"] .service-info {
    text-align: left;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.category-card,
.feature,
.service-card,
.step,
.craftsman-card {
    animation: fadeInUp 0.6s ease-out;
}


/* ==============================================*/
/* Additional Utility Classes */
 .service-type-toggle {
            display: flex;
            justify-content: center;
            gap: 24px;
            margin-bottom: 48px;
            flex-wrap: wrap;
        }
        
        .toggle-btn {
            background: #FFFFFF;
            border: 2px solid #E5E7EB;
            padding: 16px 48px;
            border-radius: 60px;
            font-family: 'Tajawal', sans-serif;
            font-size: 20px;
            font-weight: 700;
            color: #191C1D;
            cursor: pointer;
            transition: all 0.3s ease;
            min-width: 200px;
        }
        
        .toggle-btn.active {
            background: #028E94;
            border-color: #028E94;
            color: #FFFFFF;
            box-shadow: 0 4px 12px rgba(2, 142, 148, 0.3);
        }
        
        .toggle-btn:first-child.active {
            background: #10B981;
            border-color: #10B981;
        }
        
        .toggle-btn:last-child.active {
            background: #3B82F6;
            border-color: #3B82F6;
        }
        
        .service-category-section {
            display: none;
            animation: fadeIn 0.4s ease-out;
        }
        
        .service-category-section.active-section {
            display: block;
        }
        
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .services-bento-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 24px;
            margin-bottom: 60px;
        }
        
        .service-category-card {
            background: #FFFFFF;
            border: 1px solid rgba(195, 198, 215, 0.56);
            border-radius: 24px;
            overflow: hidden;
            transition: all 0.3s ease;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }
        
        .service-category-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 25px -12px rgba(0, 0, 0, 0.15);
        }
        
        .service-card-image {
            height: 200px;
            background-size: cover;
            background-position: center;
            position: relative;
            display: flex;
            align-items: flex-end;
            justify-content: flex-start;
            padding: 20px;
        }
        
        .service-card-image .icon-bg {
            background: rgba(255, 255, 255, 0.95);
            width: 56px;
            height: 56px;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: auto;
        }
        
        .service-card-image .icon-bg i {
            font-size: 28px;
        }
        
        .service-card-content {
            padding: 24px;
        }
        
        .service-card-content h3 {
            font-size: 22px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 8px;
        }
        
        .service-card-content .service-count {
            font-size: 14px;
            font-weight: 700;
            color: #F16209;
            margin-bottom: 12px;
            display: inline-block;
        }
        
        .service-card-content p {
            font-size: 14px;
            line-height: 1.6;
            color: #6B7280;
            margin-bottom: 20px;
        }
        
        .service-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #089497;
            font-weight: 600;
            text-decoration: none;
            font-size: 14px;
            transition: gap 0.3s ease;
        }
        
        .service-link:hover {
            gap: 12px;
        }
        
        /* Color variations for offline services */
        .offline-card .icon-bg {
            background: #E8F8F3;
        }
        .offline-card .icon-bg i {
            color: #10B981;
        }
        .offline-card .service-link {
            color: #10B981;
        }
        
        /* Color variations for online services */
        .online-card .icon-bg {
            background: #EBF0FF;
        }
        .online-card .icon-bg i {
            color: #3B82F6;
        }
        .online-card .service-link {
            color: #3B82F6;
        }
        
        /* Small cards row */
        .small-services-row {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            margin: 40px 0;
        }
        
        .small-service-card {
            background: #FFFFFF;
            border: 1px solid rgba(195, 198, 215, 0.56);
            border-radius: 16px;
            padding: 20px;
            text-align: center;
            transition: all 0.3s ease;
        }
        
        .small-service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
        }
        
        .small-service-card .icon-circle {
            width: 48px;
            height: 48px;
            background: #E7E8E9;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 12px;
        }
        
        .small-service-card .icon-circle i {
            font-size: 22px;
            color: #F16209;
        }
        
        .small-service-card h4 {
            font-size: 16px;
            font-weight: 700;
            margin-bottom: 6px;
        }
        
        .small-service-card .small-count {
            font-size: 12px;
            color: #F16209;
            font-weight: 500;
        }
        
        @media (max-width: 768px) {
            .toggle-btn {
                padding: 12px 24px;
                font-size: 16px;
                min-width: 150px;
            }
            .services-bento-grid {
                grid-template-columns: 1fr;
            }
        }

         /* Additional styles for the toggle section */
        .cta-banner {
            background: linear-gradient(135deg, #0C2848 0%, #1A3A5C 100%);
            border-radius: 24px;
            padding: 48px;
            margin-top: 60px;
        }
        
        .cta-content-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 24px;
        }
        
        .cta-text h3 {
            font-size: 28px;
            font-weight: 700;
            color: #FFFFFF;
            margin-bottom: 12px;
        }
        
        .cta-text p {
            font-size: 16px;
            color: rgba(255, 255, 255, 0.85);
            max-width: 600px;
        }
        
        .cta-support-btn {
            background: #FFFFFF;
            border: none;
            padding: 14px 32px;
            border-radius: 40px;
            font-family: 'Tajawal', sans-serif;
            font-size: 16px;
            font-weight: 700;
            color: #0C2848;
            cursor: pointer;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        
        .cta-support-btn:hover {
            transform: scale(1.05);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        }
        
        .footer-logo {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 24px;
            font-weight: 700;
            color: #006769;
            margin-bottom: 16px;
        }
        
        .footer-logo i {
            font-size: 28px;
        }
        
        .social-icons {
            display: flex;
            gap: 12px;
            margin-top: 20px;
        }
        
        .social-icons a {
            width: 36px;
            height: 36px;
            background: #EDEEEF;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #089497;
            transition: all 0.3s ease;
        }
        
        .social-icons a:hover {
            background: #089497;
            color: #FFFFFF;
        }
        
        @media (max-width: 768px) {
            .cta-content-wrapper {
                flex-direction: column;
                text-align: center;
            }
            .cta-text p {
                max-width: 100%;
            }
            .cta-banner {
                padding: 32px;
            }
            .cta-text h3 {
                font-size: 22px;
            }
        }
/*================================================*/
 /* Search Results Page Specific Styles */
        .search-results-page {
            background: #FFFFFF;
        }

        /* Search Bar */
        .search-results-bar {
            max-width: 768px;
            margin: 48px auto 0;
            padding: 0 24px;
        }

        .search-input-wrapper {
            position: relative;
            width: 100%;
        }

        .search-input-wrapper input {

        /* Search Results - Card layout similar to provided design */
        .search-results-page .results-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
        }

        .search-results-page .craftsman-card {
            background: #FFFFFF;
            border: 1px solid rgba(3,142,148,0.06);
            border-radius: 12px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }

        .search-results-page .craftsman-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 10px 30px rgba(2,142,148,0.08);
        }

        .search-results-page .card-image {
            height: 200px;
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .search-results-page .service-tag {
            position: absolute;
            top: 12px;
            right: 12px;
            background: #FF9800;
            color: #fff;
            padding: 6px 12px;
            border-radius: 16px;
            font-weight: 800;
            box-shadow: 0 6px 18px rgba(0,0,0,0.08);
            z-index: 2;
            font-size: 14px;
        }

        .search-results-page .card-content {
            padding: 18px 20px 20px 20px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .search-results-page .price-row {
            display: flex;
            gap: 12px;
            align-items: baseline;
            color: #6B7280;
            font-size: 13px;
        }

        .search-results-page .price-value {
            color: #038E94;
            font-weight: 800;
            margin-left: 6px;
        }

        .search-results-page .craftsman-name {
            font-size: 18px;
            margin: 0;
            color: #0F172A;
        }

        .search-results-page .rating-row {
            display: flex;
            gap: 8px;
            align-items: center;
            color: #6B7280;
            font-size: 14px;
        }

        .search-results-page .description {
            color: #374151;
            font-size: 14px;
            line-height: 1.4;
            min-height: 44px;
        }

        .search-results-page .meta-row {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            color: #6B7280;
            font-size: 13px;
            align-items: center;
        }

        .search-results-page .meta-row .available {
            background: #E6FFF7;
            color: #059669;
            padding: 6px 10px;
            border-radius: 10px;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .search-results-page .btn-profile {
            margin-top: 6px;
            align-self: start;
            padding: 10px 16px;
            border-radius: 8px;
            border: 1px solid rgba(3,142,148,0.12);
            background: #FFFFFF;
            color: #038E94;
            cursor: pointer;
            font-weight: 700;
        }

        .search-results-page .pagination {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 24px;
        }

        @media (max-width: 900px) {
            .search-results-page .results-grid { grid-template-columns: 1fr; }
            .search-results-page .card-image { height: 240px; }
        }
            width: 100%;
            padding: 18px 80px 18px 64px;
            border: 2px solid rgba(195, 198, 206, 0.5);
            border-radius: 12px;
            font-family: 'Tajawal', sans-serif;
            font-size: 16px;
            color: #6B7280;
            background: #FFFFFF;
            outline: none;
            transition: all 0.3s ease;
        }

        .search-input-wrapper input:focus {
            border-color: #028E94;
            box-shadow: 0 0 0 3px rgba(2, 142, 148, 0.1);
        }

        .search-input-wrapper i {
            position: absolute;
            right: 24px;
            top: 50%;
            transform: translateY(-50%);
            color: #028E94;
            font-size: 20px;
        }

        /* Results Layout */
        .results-layout {
            display: flex;
            gap: 48px;
            padding: 40px 24px;
            max-width: 1280px;
            margin: 0 auto;
        }

        /* Filters Sidebar */
        .filters-sidebar {
            width: 320px;
            flex-shrink: 0;
            background: #FFFFFF;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 16px;
            padding: 24px;
            height: fit-content;
            position: sticky;
            top: 100px;
        }

        .filter-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 24px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(195, 198, 215, 0.2);
        }

        .filter-header h3 {
            font-size: 18px;
            font-weight: 700;
            color: #04294D;
        }

        .filter-section {
            margin-bottom: 28px;
        }

        .filter-section h4 {
            font-size: 16px;
            font-weight: 500;
            color: #099396;
            margin-bottom: 12px;
        }

        .service-type-options {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .service-type-btn {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 16px;
            background: #04294D;
            border: 1px solid #04294D;
            border-radius: 12px;
            color: white;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .service-type-btn.active {
            background: #099396;
            border-color: #099396;
        }

        .service-type-btn span:first-child {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .category-item, .subcategory-item, .rating-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
            cursor: pointer;
        }

        .category-label, .subcategory-label {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .category-count, .subcategory-count {
            font-size: 10px;
            color: #099396;
        }

        .price-range {
            margin: 16px 0;
        }

        .range-slider {
            width: 100%;
            height: 4px;
            background: #099396;
            border-radius: 9999px;
            position: relative;
            margin: 20px 0;
        }

        .range-handle {
            width: 18px;
            height: 18px;
            background: #04294D;
            border-radius: 50%;
            position: absolute;
            top: -7px;
            left: 50%;
            transform: translateX(-50%);
            cursor: pointer;
            box-shadow: 0 0 10px rgba(109, 214, 220, 0.5);
        }

        .range-values {
            display: flex;
            justify-content: space-between;
            font-size: 12px;
            color: #099396;
        }

        .location-select {
            width: 100%;
            padding: 12px 16px;
            background: #099396;
            border: none;
            border-radius: 12px;
            color: white;
            font-family: 'Tajawal', sans-serif;
            margin-bottom: 16px;
        }

        .distance-slider {
            margin: 16px 0;
        }

        .available-toggle {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: #8ED252;
            padding: 12px;
            border-radius: 8px;
            margin: 16px 0;
        }

        .toggle-switch {
            width: 44px;
            height: 24px;
            background: white;
            border-radius: 9999px;
            position: relative;
            cursor: pointer;
        }

        .toggle-switch.active::after {
            transform: translateX(22px);
        }

        .toggle-switch::after {
            content: '';
            width: 20px;
            height: 20px;
            background: #8ED252;
            border-radius: 50%;
            position: absolute;
            top: 2px;
            right: 2px;
            transition: transform 0.3s ease;
        }

        .filter-actions {
            margin-top: 24px;
            padding-top: 24px;
            border-top: 1px solid rgba(61, 73, 73, 0.2);
        }

        .btn-apply {
            width: 100%;
            background: #04294D;
            color: white;
            padding: 12px;
            border: none;
            border-radius: 12px;
            font-weight: 700;
            margin-bottom: 12px;
            cursor: pointer;
        }

        .btn-reset {
            width: 100%;
            background: transparent;
            border: 1px solid rgba(61, 73, 73, 0.5);
            padding: 12px;
            border-radius: 12px;
            color: #099396;
            font-weight: 700;
            cursor: pointer;
        }

        /* Results Grid */
        .results-grid {
            flex: 1;
        }

        .sorting-bar {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            margin-bottom: 24px;
            gap: 16px;
            flex-wrap: wrap;
        }

        .sort-select {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px 16px;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 8px;
            cursor: pointer;
        }

        .craftsman-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            overflow: hidden;
            margin-bottom: 24px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .craftsman-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .card-image {
            height: 380px;
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .service-tag {
            position: absolute;
            top: 16px;
            right: 16px;
            background: #FEA619;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 14px;
            color: #684000;
        }

        .card-content {
            padding: 24px;
        }

        .price-row {
            display: flex;
            justify-content: space-between;
            margin-bottom: 16px;
        }

        .price-label {
            color: #737686;
            font-size: 14px;
        }

        .price-value {
            color: #028E94;
            font-weight: 700;
            font-size: 18px;
        }

        .craftsman-name {
            font-size: 18px;
            font-weight: 700;
            margin-bottom: 8px;
        }

        .rating-row {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 12px;
        }

        .stars {
            color: #855300;
        }

        .review-count {
            color: #434655;
            font-size: 14px;
        }

        .description {
            color: #434655;
            line-height: 1.6;
            margin-bottom: 16px;
            font-size: 14px;
        }

        .meta-row {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-bottom: 20px;
            font-size: 14px;
            color: #434655;
        }

        .meta-row i {
            color: #028E94;
            margin-left: 4px;
        }

        .verified-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: #434655;
        }

        .btn-profile {
            width: 100%;
            background: transparent;
            border: 1px solid #038E94;
            padding: 10px;
            border-radius: 8px;
            color: #028E94;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-profile:hover {
            background: #028E94;
            color: white;
        }

        .pagination {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 40px;
        }

        .page-btn {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .page-btn.active {
            background: #028E94;
            color: white;
            border-color: #028E94;
        }

        .page-btn:hover:not(.active) {
            border-color: #028E94;
        }

        @media (max-width: 1024px) {
            .results-layout {
                flex-direction: column;
            }
            .filters-sidebar {
                width: 100%;
                position: static;
            }
        }

        @media (max-width: 768px) {
            .search-results-bar {
                margin-top: 20px;
            }
            .sorting-bar {
                justify-content: flex-start;
            }
        }
/*=================================================*/
 /* FAQ Page Specific Styles */
        .faq-page {
            background: #FFFFFF;
        }

        /* Hero Section */
        .faq-hero {
            background: #FFFFFF;
            padding: 60px 0 40px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .faq-hero::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(134.35% 134.35% at -4450% -4450%, #004AC6 0.93%, rgba(0, 74, 198, 0) 0.93%);
            opacity: 0.1;
            pointer-events: none;
        }

        .faq-hero h1 {
            font-size: 48px;
            font-weight: 700;
            color: #038E94;
            margin-bottom: 16px;
            position: relative;
            z-index: 1;
        }

        .faq-hero p {
            font-size: 18px;
            color: #434655;
            margin-bottom: 32px;
            position: relative;
            z-index: 1;
        }

        .search-wrapper {
            max-width: 576px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .search-wrapper input {
            width: 100%;
            padding: 18px 56px 18px 24px;
            background: #F3F4F5;
            border: none;
            border-radius: 12px;
            font-family: 'Tajawal', sans-serif;
            font-size: 16px;
            color: #6B7280;
            outline: none;
            transition: all 0.3s ease;
        }

        .search-wrapper input:focus {
            box-shadow: 0 0 0 2px #038E94;
            background: white;
        }

        .search-wrapper i {
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            color: #737686;
            font-size: 18px;
        }

        /* Category Tabs */
        .faq-tabs {
            display: flex;
            justify-content: center;
            gap: 16px;
            flex-wrap: wrap;
            margin: 40px auto;
            max-width: 1232px;
            padding: 0 24px;
        }

        .faq-tab {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 12px 28px;
            background: white;
            border: none;
            border-radius: 40px;
            font-family: 'Tajawal', sans-serif;
            font-size: 16px;
            font-weight: 500;
            color: #434655;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .faq-tab i {
            font-size: 16px;
        }

        .faq-tab:hover {
            background: #F3F4F5;
        }

        .faq-tab.active {
            background: #038E94;
            color: white;
            box-shadow: 0 4px 12px rgba(3, 142, 148, 0.3);
        }

        .faq-tab.active i {
            color: white;
        }

        /* FAQ Content */
        .faq-content {
            max-width: 800px;
            margin: 0 auto 60px;
            padding: 0 24px;
        }

        .faq-category {
            display: none;
        }

        .faq-category.active-category {
            display: block;
        }

        .faq-item {
            border-bottom: 1px solid #048E94;
            margin-bottom: 4px;
        }

        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 24px;
            cursor: pointer;
            transition: all 0.3s ease;
            border-radius: 12px;
        }

        .faq-question:hover {
            background: #F8F9FA;
        }

        .faq-question h3 {
            font-size: 16px;
            font-weight: 700;
            color: #191C1D;
            margin: 0;
        }

        .faq-question i {
            color: #038E94;
            transition: transform 0.3s ease;
        }

        .faq-question.open i {
            transform: rotate(180deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            padding: 0 24px;
        }

        .faq-answer p {
            padding-bottom: 20px;
            color: #434655;
            line-height: 1.6;
            font-size: 14px;
        }

        /* CTA Section */
        .faq-cta {
            background: #038E94;
            text-align: center;
            padding: 60px 24px;
            position: relative;
            overflow: hidden;
        }

        .faq-cta::before {
            content: '';
            position: absolute;
            width: 256px;
            height: 256px;
            left: -128px;
            top: -128px;
            background: rgba(255, 255, 255, 0.1);
            filter: blur(32px);
            border-radius: 50%;
        }

        .faq-cta::after {
            content: '';
            position: absolute;
            width: 256px;
            height: 256px;
            right: -128px;
            bottom: -128px;
            background: rgba(255, 255, 255, 0.1);
            filter: blur(32px);
            border-radius: 50%;
        }

        .faq-cta h2 {
            font-size: 32px;
            font-weight: 700;
            color: white;
            margin-bottom: 12px;
            position: relative;
            z-index: 1;
        }

        .faq-cta p {
            font-size: 16px;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 36px;
            position: relative;
            z-index: 1;
        }

        .cta-buttons {
            display: flex;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
            position: relative;
            z-index: 1;
        }

        .btn-outline-light {
            background: transparent;
            border: 2px solid rgba(255, 255, 255, 0.3);
            padding: 12px 48px;
            border-radius: 12px;
            color: white;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .btn-outline-light:hover {
            border-color: white;
            background: rgba(255, 255, 255, 0.1);
        }

        .btn-white {
            background: white;
            border: none;
            padding: 12px 48px;
            border-radius: 12px;
            color: #038E94;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        .btn-white:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
        }

        /* Artisan Spotlight Section */
        .artisan-spotlight {
            max-width: 1280px;
            margin: 60px auto;
            padding: 0 24px;
            display: flex;
            gap: 48px;
            align-items: center;
            flex-wrap: wrap;
        }

        .spotlight-images {
            flex: 1;
            min-width: 280px;
            position: relative;
        }

        .main-img {
            width: 100%;
            border-radius: 16px;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }

        .overlay-img {
            position: absolute;
            bottom: -20px;
            left: -20px;
            width: 60%;
            border-radius: 16px;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            border: 4px solid white;
        }

        .spotlight-content {
            flex: 1;
            background: #0C2848;
            padding: 48px;
            border-radius: 24px;
            color: white;
        }

        .spotlight-content h3 {
            font-size: 28px;
            font-weight: 700;
            margin-bottom: 16px;
        }

        .spotlight-content > p {
            font-size: 16px;
            line-height: 1.6;
            opacity: 0.9;
            margin-bottom: 24px;
        }

        .benefits-list {
            list-style: none;
            padding: 0;
            margin-bottom: 32px;
        }

        .benefits-list li {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            font-size: 16px;
        }

        .benefits-list li i {
            width: 20px;
            height: 20px;
            background: #038E94;
            border-radius: 4px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
        }

        .btn-register {
            background: white;
            border: none;
            padding: 14px 48px;
            border-radius: 12px;
            color: #0C2848;
            font-weight: 600;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-register:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
        }

        @media (max-width: 768px) {
            .faq-hero h1 {
                font-size: 32px;
            }
            .faq-tab {
                padding: 8px 20px;
                font-size: 14px;
            }
            .spotlight-content {
                padding: 32px;
            }
            .spotlight-content h3 {
                font-size: 22px;
            }
            .cta-buttons {
                flex-direction: column;
                align-items: center;
            }
            .btn-outline-light, .btn-white {
                width: 100%;
                max-width: 250px;
                justify-content: center;
            }
        }

        @media (max-width: 1024px) {
            .artisan-spotlight {
                flex-direction: column;
            }
            .overlay-img {
                left: 20px;
                bottom: -20px;
            }
        }
/*=================================================*/

        /* Craftsman Profile Page Specific Styles */
        .profile-page {
            background: #FFFFFF;
        }

        /* Hero Section */
        .profile-hero {
            max-width: 1280px;
            margin: 24px auto 0;
            padding: 0 24px;
        }

        .hero-card {
            background: #FFFFFF;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .hero-cover {
            height: 256px;
            background: linear-gradient(135deg, #1a3a5c 0%, #0C2848 100%);
            position: relative;
        }

        .hero-cover img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .cover-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
        }

        .profile-avatar {
            position: relative;
            flex-shrink: 0;
            width: 96px;
            height: 96px;
            border-radius: 50%;
            border: 4px solid white;
            background: linear-gradient(135deg, #028E94 0%, #006769 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .profile-avatar img {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            object-fit: cover;
        }

        .online-badge {
            position: absolute;
            bottom: 8px;
            right: 8px;
            width: 20px;
            height: 20px;
            background: #22C55E;
            border: 2px solid white;
            border-radius: 50%;
        }

        .profile-info {
            padding: 24px 40px 32px 40px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .info-right {
            text-align: right;
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .profession-badge {
            display: inline-block;
            background: #FFDDB8;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 12px;
            color: #2A1700;
            margin-bottom: 12px;
        }

        .info-right h1 {
            font-size: 32px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 8px;
        }

        .location-rating {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .location-rating span {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 14px;
            color: #434655;
        }

        .stars {
            color: #FEA619;
        }

        .action-buttons {
            display: flex;
            gap: 12px;
        }

        .btn-icon {
            width: 44px;
            height: 46px;
            border: 1px solid rgba(195, 198, 215, 0.5);
            border-radius: 12px;
            background: white;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }

        .btn-icon:hover {
            border-color: #028E94;
            color: #028E94;
        }

        .btn-primary-custom {
            background: #0C2848;
            color: white;
            padding: 13px 48px;
            border-radius: 12px;
            border: none;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
        }

        .btn-primary-custom:hover {
            background: #1a3a5c;
        }

        .btn-success {
            background: #028E94;
            padding: 13px 48px;
        }

        .btn-success:hover {
            background: #006769;
        }

        /* Main Content Layout */
        .profile-main {
            max-width: 1280px;
            margin: 48px auto;
            padding: 0 24px;
            display: flex;
            gap: 48px;
            flex-wrap: wrap;
        }

        /* Tabs Section */
        .tabs-section {
            flex: 1;
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            overflow: hidden;
        }

        .tabs-nav {
            display: flex;
            border-bottom: 1px solid rgba(195, 198, 215, 0.3);
            overflow-x: auto;
        }

        .tab-btn {
            padding: 16px 24px;
            background: none;
            border: none;
            font-family: 'Tajawal', sans-serif;
            font-weight: 700;
            font-size: 14px;
            color: #434655;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: all 0.3s ease;
            white-space: nowrap;
        }

        .tab-btn.active {
            color: #028E94;
            border-bottom: 2px solid #028E94;
        }

        .tab-content {
            display: none;
            padding: 32px;
            animation: fadeInTab 0.3s ease;
        }

        .tab-content.active {
            display: block;
        }

        @keyframes fadeInTab {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* About Section */
        .section-title {
            font-size: 24px;
            font-weight: 700;
            color: #028E94;
            margin-bottom: 16px;
        }

        .bio-text {
            color: #434655;
            line-height: 1.7;
            margin-bottom: 32px;
        }

        .certificate-card {
            background: #F3F4F5;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 8px;
            padding: 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 24px;
        }

        .certificate-info h4 {
            font-weight: 700;
            font-size: 14px;
            color: #191C1D;
            margin-bottom: 4px;
        }

        .certificate-info p {
            font-size: 12px;
            color: #434655;
        }

        .skills-list {
            list-style: none;
            padding: 0;
        }

        .skills-list li {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 16px;
            color: #434655;
        }

        .skills-list li i {
            color: #FEA619;
            width: 20px;
        }

        /* Sidebar */
        .profile-sidebar {
            width: 380px;
            flex-shrink: 0;
        }

        .info-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 24px;
            margin-bottom: 24px;
        }

        .info-card h3 {
            font-size: 20px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .info-card h3 i {
            color: #028E94;
        }

        .hours-item {
            display: flex;
            justify-content: space-between;
            padding: 12px 0;
            border-bottom: 1px solid rgba(195, 198, 215, 0.1);
        }

        .hours-item.closed .day-value {
            color: #BA1A1A;
        }

        .map-placeholder {
            background: #D9DADB;
            height: 160px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 12px;
            position: relative;
            overflow: hidden;
        }

        .map-marker {
            width: 40px;
            height: 40px;
            background: #028E94;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        }

        .address-text {
            font-size: 14px;
            color: #434655;
            text-align: center;
        }

        .contact-info {
            margin-top: 16px;
        }

        .contact-item {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
            color: #434655;
            font-size: 14px;
        }

        /* Footer (Profile Page Scope) */
        .profile-page .footer {
            background: white;
            border-top: 1px solid rgba(195, 198, 215, 0.5);
            margin-top: 48px;
        }

        @media (max-width: 1024px) {
            .profile-main {
                flex-direction: column;
            }
            .profile-sidebar {
                width: 100%;
            }
            .profile-info {
                flex-direction: column;
                align-items: flex-start;
            }
            .action-buttons {
                width: 100%;
                justify-content: flex-start;
            }
        }

        @media (max-width: 768px) {
            .profile-info {
                padding: 20px;
            }
            .profile-avatar {
                width: 80px;
                height: 80px;
            }
            .info-right {
                gap: 14px;
            }
            .tab-btn {
                padding: 12px 16px;
                font-size: 12px;
            }
        }
/*=================================================*/
        /* About Us Page Specific Styles */
        .about-page {
            background: #FFFFFF;
        }

        /* Hero Section */
        .about-hero {
            display: flex;
            align-items: center;
            gap: 48px;
            max-width: 1280px;
            margin: 0 auto;
            padding: 48px 24px;
            flex-wrap: wrap;
        }

        .hero-image {
            flex: 1;
            position: relative;
            border-radius: 50%;
            overflow: hidden;
           
        }

        .hero-image img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .hero-content {
            flex: 1;
        }

        .hero-content h1 {
            font-size: 48px;
            font-weight: 700;
            color: #038E94;
            line-height: 1.3;
            margin-bottom: 24px;
        }

        .hero-content p {
            font-size: 20px;
            font-weight: 500;
            color: #434655;
            line-height: 1.6;
            margin-bottom: 32px;
        }

        .hero-buttons {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
        }

        .btn-primary-lg {
            background: #038E94;
            border: none;
            padding: 14px 48px;
            border-radius: 12px;
            color: white;
            font-weight: 700;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25);
        }

        .btn-primary-lg:hover {
            transform: translateY(-2px);
            box-shadow: 0 7px 0 rgba(0, 0, 0, 0.25);
        }

        .btn-outline-lg {
            background: transparent;
            border: 1px solid #038E94;
            padding: 14px 48px;
            border-radius: 12px;
            color: #038E94;
            font-weight: 700;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-outline-lg:hover {
            background: #038E94;
            color: white;
        }

        /* Stats Section */
        .stats-section {
            background: #028E94;
            padding: 48px 24px;
            margin: 0;
            box-shadow: 0 10px 4px rgba(0, 0, 0, 0.25), 0 -10px 4px rgba(0, 0, 0, 0.25);
        }

        .stats-container {
            max-width: 1280px;
            margin: 0 auto;
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            gap: 40px;
        }

        .stat-item {
            text-align: center;
        }

        .stat-number {
            font-size: 48px;
            font-weight: 700;
            color: var(--surface-light);
            line-height: 1.2;
        }

        .stat-label {
            font-size: 20px;
            font-weight: 500;
            color: white;
            opacity: 0.9;
        }

        /* Story Section */
        .story-section {
            max-width: 1280px;
            margin: 0 auto;
            padding: 80px 24px;
            display: flex;
            gap: 60px;
            align-items: center;
            flex-wrap: wrap;
        }

        .story-content {
            flex: 1;
        }

        .story-content h2 {
            font-size: 32px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 16px;
        }

        .story-text {
            font-size: 18px;
            line-height: 1.7;
            color: #434655;
            margin-bottom: 24px;
        }

        .story-image {
            flex: 1;
            position: relative;
        }

        .main-story-img {
            width: 100%;
            border-radius: 40px;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
            transform: rotate(3deg);
        }

        .quote-badge {
            position: absolute;
            bottom: -20px;
            right: -20px;
            background: #FEA619;
            padding: 24px 32px;
            border-radius: 16px;
            transform: rotate(-2deg);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .quote-badge h4 {
            font-size: 24px;
            font-weight: 700;
            color: #684000;
        }

        /* Values Section */
        .values-section {
            background: #FFFFFF;
            padding: 0 24px 80px;
            max-width: 1280px;
            margin: 0 auto;
        }

        .values-header {
            text-align: center;
            margin-bottom: 48px;
        }

        .values-header h2 {
            font-size: 32px;
            font-weight: 700;
            color: #038E94;
            margin-bottom: 8px;
        }

        .values-header p {
            font-size: 16px;
            color: #434655;
        }

        .values-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 24px;
        }

        .value-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 48px 32px;
            text-align: center;
            transition: all 0.3s ease;
        }

        .value-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.1);
        }

        .value-icon {
            width: 80px;
            height: 80px;
            margin: 0 auto 24px;
            background: rgba(0, 74, 198, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .value-icon i {
            font-size: 36px;
            color: #004AC6;
        }

        .value-card:nth-child(2) .value-icon { background: rgba(254, 166, 25, 0.1); }
        .value-card:nth-child(2) .value-icon i { color: #855300; }
        .value-card:nth-child(3) .value-icon { background: rgba(188, 72, 0, 0.1); }
        .value-card:nth-child(3) .value-icon i { color: #943700; }

        .value-card h3 {
            font-size: 24px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 12px;
        }

        .value-card p {
            font-size: 14px;
            line-height: 1.5;
            color: #434655;
        }

        @media (max-width: 768px) {
            .about-hero {
                flex-direction: column;
            }
            .hero-content h1 {
                font-size: 32px;
            }
            .hero-content p {
                font-size: 16px;
            }
            .stat-number {
                font-size: 32px;
            }
            .stat-label {
                font-size: 16px;
            }
            .story-section {
                flex-direction: column;
            }
            .quote-badge {
                position: static;
                margin-top: 20px;
                display: inline-block;
            }
        }
/*=================================================*/
/* Login Page Specific Styles */
        .login-page {
            background: #0C2848;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Header Override for Login Page */
        .login-page .header {
            background: rgba(249, 249, 255, 0.9);
            backdrop-filter: blur(6px);
            position: relative;
            z-index: 10;
        }

        .login-page .header .btn-primary {
            background: #006769;
        }

        .login-page .header .btn-outline {
            color: #006769;
            border-color: #006769;
        }

        .login-page .auth-buttons {
            align-items: center;
        }

        /* Main Login Container */
        .login-container {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 60px 24px;
            position: relative;
            overflow: hidden;
            /* أُزيلت صورة الخلفية واستُبدلت بتموّج بلون الشعار #089497
               مبنيّ من تدرّجات شعاعية فوق أساس كحلي. */
            background:
                radial-gradient(60% 55% at 12% 18%, rgba(8, 148, 151, .38) 0%, transparent 62%),
                radial-gradient(55% 50% at 88% 12%, rgba(8, 148, 151, .28) 0%, transparent 60%),
                radial-gradient(70% 60% at 78% 92%, rgba(8, 148, 151, .32) 0%, transparent 65%),
                radial-gradient(45% 40% at 30% 85%, rgba(2, 142, 148, .22) 0%, transparent 58%),
                linear-gradient(160deg, #0C2848 0%, #0e2f52 48%, #0a2340 100%);
        }

        /* موجة ناعمة تتحرك ببطء فوق الأساس — تعطي إحساس التموّج */
        .login-container::before {
            content: '';
            position: absolute;
            inset: -20%;
            background:
                radial-gradient(closest-side, rgba(8, 148, 151, .20), transparent 70%) 20% 30% / 55% 55% no-repeat,
                radial-gradient(closest-side, rgba(8, 148, 151, .16), transparent 70%) 80% 70% / 50% 50% no-repeat;
            filter: blur(40px);
            animation: loginWave 18s ease-in-out infinite alternate;
            pointer-events: none;
            z-index: 0;
        }

        @keyframes loginWave {
            0%   { transform: translate3d(0, 0, 0) scale(1); }
            50%  { transform: translate3d(2%, -2%, 0) scale(1.06); }
            100% { transform: translate3d(-2%, 2%, 0) scale(1.02); }
        }

        @media (prefers-reduced-motion: reduce) {
            .login-container::before { animation: none; }
        }

        /* البطاقة فوق طبقة الموجة */
        .login-card { position: relative; z-index: 1; }

        /* Ambient Background Effects */
        .bg-blur-1 {
            position: absolute;
            width: 600px;
            height: 600px;
            right: 21px;
            top: -108.5px;
            background: radial-gradient(50% 50% at 50% 50%, rgba(2, 142, 148, 0.5) 0%, rgba(1, 44, 46, 0.5) 100%);
            filter: blur(75px);
            border-radius: 50%;
            pointer-events: none;
        }

        .bg-blur-2 {
            position: absolute;
            width: 500px;
            height: 500px;
            left: 9px;
            bottom: -107.5px;
            background: radial-gradient(50% 50% at 50% 50%, rgba(2, 142, 148, 0.5) 0%, rgba(1, 44, 46, 0.5) 100%);
            filter: blur(60px);
            border-radius: 50%;
            pointer-events: none;
        }

        /* Login Card */
        .login-card {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 500px;
            background: #0C2848;
            border: 1px solid #6DD6DC;
            border-radius: 16px;
            padding: 56px;
            box-shadow: 0px 20px 50px rgba(0, 0, 0, 0.3);
            backdrop-filter: blur(20px);
        }

        /* Brand Section */
        .brand-section {
            text-align: center;
            margin-bottom: 40px;
        }

        .brand-logo {
            font-size: 48px;
            font-weight: 800;
            color: #6DD6DC;
            letter-spacing: -2.4px;
            margin-bottom: 8px;
        }

        .brand-tagline {
            font-size: 12px;
            font-weight: 700;
            color: #C3C6D7;
            letter-spacing: 3.6px;
        }

        /* Login Header */
        .login-header {
            text-align: center;
            margin-bottom: 32px;
        }

        .login-header h1 {
            font-size: 32px;
            font-weight: 700;
            color: #E0E3E5;
            margin-bottom: 8px;
        }

        .login-header p {
            font-size: 16px;
            color: #C3C6D7;
        }

        /* Form Styles (Login Page Scope) */
        .login-page .form-group {
            margin-bottom: 24px;
        }

        .login-page .form-label {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 8px;
        }

        .login-page .form-label span {
            font-size: 13px;
            font-weight: 700;
            color: #C3C6D7;
            letter-spacing: 0.6px;
            text-transform: uppercase;
        }

        .login-page .forgot-link {
            font-size: 12px;
            color: #6DD6DC;
            text-decoration: none;
            transition: opacity 0.3s ease;
        }

        .login-page .forgot-link:hover {
            opacity: 0.8;
        }

        .login-page .input-wrapper {
            position: relative;
        }

        .login-page .input-wrapper input {
            width: 100%;
            padding: 17px 16px 18px 48px;
            background: #FFFFFF;
            border: 1px solid #FFFFFF;
            border-radius: 12px;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 16px;
            color: #879394;
            outline: none;
            transition: all 0.3s ease;
        }

        /* Password field carries two icons on the left */
        .login-page .input-wrapper:has(.password-toggle) input {
            padding-left: 76px;
        }

        .login-page .input-wrapper input:focus {
            border-color: #6DD6DC;
            box-shadow: 0 0 0 3px rgba(109, 214, 220, 0.2);
        }

        /* Icons sit on the left in the login design */
        .login-page .input-icon {
            position: absolute;
            left: 16px;
            right: auto;
            top: 50%;
            transform: translateY(-50%);
            color: #879394;
            font-size: 18px;
        }

        /* Lock shifts right to make room for the eye toggle */
        .login-page .input-wrapper:has(.password-toggle) .input-icon {
            left: 46px;
        }

        .login-page .password-toggle {
            position: absolute;
            left: 16px;
            right: auto;
            top: 50%;
            transform: translateY(-50%);
            color: #879394;
            cursor: pointer;
            font-size: 16px;
        }

        /* Login Button */
        .login-btn {
            width: 100%;
            background: #04294D;
            border: none;
            padding: 16px;
            border-radius: 12px;
            color: white;
            font-size: 24px;
            font-weight: 700;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0px 8px 25px rgba(109, 214, 220, 0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            margin-bottom: 24px;
        }

        .login-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0px 12px 30px rgba(109, 214, 220, 0.4);
        }

        /* Divider */
        .divider {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 24px;
        }

        .divider-line {
            flex: 1;
            height: 1px;
            background: rgba(255, 255, 255, 0.05);
        }

        .divider-text {
            padding: 0 16px;
            font-size: 14px;
            color: #C3C6D7;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Social Login */
        .social-login {
            width: 100%;
        }

        .google-btn {
            width: 100%;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .google-btn:hover {
            background: rgba(255, 255, 255, 0.08);
        }

        .google-btn span {
            font-size: 16px;
            color: #C3C6D7;
            font-family: 'Tajawal', sans-serif;
        }

        .google-btn i {
            font-size: 20px;
            color: #C3C6D7;
            opacity: 0.7;
        }

        /* Footer Link */
        .signup-link {
            text-align: center;
            margin-top: 24px;
            padding-top: 8px;
        }

        .signup-link span {
            font-size: 14px;
            color: #C3C6D7;
        }

        .signup-link a {
            font-size: 14px;
            font-weight: 700;
            color: #6DD6DC;
            text-decoration: none;
            margin-right: 4px;
            transition: opacity 0.3s ease;
        }

        .signup-link a:hover {
            opacity: 0.8;
        }

        /* Responsive */
        @media (max-width: 640px) {
            .login-card {
                padding: 32px 24px;
            }
            .brand-logo {
                font-size: 36px;
            }
            .login-header h1 {
                font-size: 24px;
            }
            .login-btn {
                font-size: 18px;
            }
        }

        @media (max-width: 480px) {
            .login-card {
                padding: 24px 20px;
            }
            .login-page .form-label span {
                font-size: 12px;
            }
        }

        /* Login Footer */
        .login-footer {
            position: relative;
            z-index: 10;
            background: #0C2848;
            border-top: 1px solid rgba(109, 214, 220, 0.15);
            padding: 22px 0;
        }

        .login-footer-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
        }

        .login-footer .lf-logo {
            font-size: 26px;
            font-weight: 800;
            color: #6DD6DC;
            letter-spacing: -1px;
        }

        .login-footer .lf-copy {
            font-size: 13px;
            color: #9AA7BD;
            text-align: center;
            flex: 1;
            min-width: 220px;
        }

        .login-footer .lf-copy span {
            color: #C3C6D7;
        }

        .login-footer .lf-links {
            display: flex;
            align-items: center;
            gap: 22px;
            flex-wrap: wrap;
        }

        .login-footer .lf-links a {
            font-size: 13px;
            color: #C3C6D7;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .login-footer .lf-links a:hover {
            color: #6DD6DC;
        }

        @media (max-width: 768px) {
            .login-footer-inner {
                flex-direction: column;
                text-align: center;
            }
        }
/*=================================================*/

/* Sign Up Page Specific Styles */
        .signup-page {
            background: #0C2848;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Header Override */
        .signup-page .header {
            background: rgba(249, 249, 255, 0.9);
            backdrop-filter: blur(6px);
            position: relative;
            z-index: 20;
        }

        .signup-page .header .btn-primary {
            background: #006769;
        }

        .signup-page .header .btn-outline {
            color: #006769;
            border-color: #006769;
        }

        /* Main Container */
        .signup-container {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 60px 24px;
            position: relative;
            z-index: 1;
        }

        /* Glass Card */
        .signup-card {
            width: 100%;
            max-width: 1280px;
            background: rgba(12, 40, 72, 0.4);
            border: 1px solid #028E94;
            border-radius: 24px;
            backdrop-filter: blur(12px);
            box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
            display: flex;
            overflow: hidden;
            min-height: 800px;
        }

        /* Left Side - Hero Image Section */
        .signup-hero {
            flex: 1;
            position: relative;
            background: linear-gradient(135deg, #0C2848 0%, #04294D 100%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 48px;
            min-height: 800px;
        }

        .signup-hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(270deg, #0C2848 0%, rgba(12, 40, 72, 0) 50%, rgba(12, 40, 72, 0) 100%);
            z-index: 1;
        }

        .signup-hero .hero-bg {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('../../assets/image/signup-craftsman.png');
            background-size: cover;
            background-position: center;
            opacity: 0.92;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            text-align: right;
        }

        .hero-line {
            width: 64px;
            height: 4px;
            background: #028E94;
            margin-bottom: 24px;
        }

        .hero-content h2 {
            font-size: 36px;
            font-weight: 700;
            color: white;
            margin-bottom: 16px;
        }

        .hero-content p {
            font-size: 18px;
            line-height: 1.7;
            color: #D1D5DB;
            margin-bottom: 32px;
            max-width: 500px;
        }

        .hero-stats {
            display: flex;
            gap: 48px;
            margin-top: 16px;
        }

        .stat-block {
            text-align: center;
        }

        .stat-number {
            font-size: 30px;
            font-weight: 700;
            color: var(--surface-light);
            line-height: 1.2;
        }

        .stat-label {
            font-size: 12px;
            font-weight: 400;
            color: #9CA3AF;
            letter-spacing: 1.2px;
            text-transform: uppercase;
        }

        .divider-vertical {
            width: 1px;
            height: 48px;
            background: rgba(255, 255, 255, 0.1);
        }

        /* Right Side - Form Section */
        .signup-form-section {
            width: 500px;
            background: rgba(12, 40, 72, 0.6);
            padding: 48px 64px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .brand-header {
            margin-bottom: 40px;
        }

        .brand-header h1 {
            font-size: 48px;
            font-weight: 800;
            background: linear-gradient(96.77deg, #FFFFFF 0%, #028E94 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 8px;
        }

        .brand-header p {
            font-size: 14px;
            letter-spacing: 0.35px;
            text-transform: uppercase;
            color: #C3C6D7;
            opacity: 0.8;
        }

        /* Form Styles (Sign Up Page Scope) */
        .signup-page .form-group {
            margin-bottom: 19px;
        }

        .signup-page .form-label {
            display: block;
            font-size: 13px;
            font-weight: 700;
            color: white;
            letter-spacing: 1.1px;
            text-transform: uppercase;
            margin-bottom: 6px;
        }

        .signup-page .input-wrapper {
            position: relative;
        }

        .signup-page .input-wrapper input {
            width: 100%;
            padding: 17px 48px 18px 16px;
            background: white;
            border: 1px solid white;
            border-radius: 16px;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 16px;
            color: #879394;
            outline: none;
            transition: all 0.3s ease;
        }

        .signup-page .input-wrapper input:focus {
            border-color: #028E94;
            box-shadow: 0 0 0 3px rgba(2, 142, 148, 0.2);
        }

        .input-icon {
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #028E94;
            font-size: 16px;
        }

        .password-toggle {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #879394;
            cursor: pointer;
            font-size: 16px;
        }

        /* Submit Button */
        .submit-btn {
            width: 100%;
            background: #028E94;
            border: none;
            padding: 17px;
            border-radius: 16px;
            color: white;
            font-size: 20px;
            font-weight: 700;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0px 0px 20px rgba(2, 142, 148, 0.4);
            margin-top: 8px;
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0px 4px 25px rgba(2, 142, 148, 0.5);
        }

        /* Login Link */
        .login-link {
            text-align: center;
            margin-top: 32px;
        }

        .login-link span {
            font-size: 14px;
            color: #C3C6D7;
        }

        .login-link a {
            font-size: 14px;
            font-weight: 700;
            color: #028E94;
            text-decoration: underline;
            margin-right: 4px;
        }

        /* Footer Copyright */
        .copyright {
            text-align: center;
            margin-top: 40px;
            opacity: 0.6;
        }

        .copyright p {
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #C3C6D7;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .signup-card {
                flex-direction: column;
            }
            .signup-hero {
                min-height: 400px;
                padding: 32px;
            }
            .signup-form-section {
                width: 100%;
                padding: 40px 32px;
            }
            .hero-stats {
                justify-content: flex-start;
            }
        }

        @media (max-width: 640px) {
            .signup-form-section {
                padding: 32px 24px;
            }
            .brand-header h1 {
                font-size: 36px;
            }
            .hero-content h2 {
                font-size: 28px;
            }
            .hero-stats {
                flex-wrap: wrap;
                gap: 24px;
            }
            .divider-vertical {
                display: none;
            }
        }

/*=================================================*/
/* Reset Password Page Specific Styles */
        .reset-page {
            background: #0C2848;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Header Override */
        .reset-page .header {
            background: rgba(249, 249, 255, 0.9);
            backdrop-filter: blur(6px);
            position: relative;
            z-index: 20;
        }

        .reset-page .header .btn-primary {
            background: #006769;
        }

        .reset-page .header .btn-outline {
            color: #006769;
            border-color: #006769;
        }

        /* Main Container */
        .reset-container {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 60px 24px;
            position: relative;
            min-height: calc(100vh - 76px);
        }

        /* Background Effects */
        .bg-blur-top {
            position: absolute;
            width: 896px;
            height: 800px;
            right: -64px;
            top: -114px;
            background: rgba(109, 214, 220, 0.1);
            filter: blur(70px);
            border-radius: 50%;
            pointer-events: none;
        }

        .bg-blur-bottom {
            position: absolute;
            width: 512px;
            height: 457px;
            left: -128px;
            top: 228px;
            background: rgba(68, 227, 236, 0.1);
            filter: blur(60px);
            border-radius: 50%;
            pointer-events: none;
        }

        /* Reset Card */
        .reset-card {
            position: relative;
            z-index: 10;
            width: 100%;
            max-width: 576px;
            background: rgba(13, 31, 54, 0.4);
            border: 1px solid rgba(109, 214, 220, 0.15);
            border-radius: 40px;
            backdrop-filter: blur(12px);
            box-shadow: 0px 0px 40px rgba(109, 214, 220, 0.1);
            padding: 48px 56px 72px;
        }

        /* Icon Section */
        .icon-wrapper {
            display: flex;
            justify-content: center;
            margin-bottom: 24px;
        }

        .icon-box {
            width: 80px;
            height: 76px;
            background: rgba(109, 214, 220, 0.1);
            border: 1px solid rgba(109, 214, 220, 0.2);
            border-radius: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .icon-box i {
            font-size: 45px;
            color: #6DD6DC;
            transform: rotate(-12deg);
        }

        /* Header Text */
        .reset-header {
            text-align: center;
            margin-bottom: 24px;
        }

        .reset-header h1 {
            font-size: 36px;
            font-weight: 700;
            color: #E0E3E5;
            letter-spacing: -0.96px;
            margin-bottom: 16px;
        }

        .reset-header p {
            font-size: 18px;
            line-height: 1.6;
            color: rgba(188, 201, 201, 0.8);
            max-width: 384px;
            margin: 0 auto;
        }

        /* Form */
        .reset-form {
            margin-top: 32px;
        }

        .reset-page .form-group {
            margin-bottom: 32px;
        }

        .reset-page .form-label {
            display: block;
            font-size: 13px;
            font-weight: 500;
            color: #6DD6DC;
            letter-spacing: 0.65px;
            text-transform: uppercase;
            margin-bottom: 12px;
        }

        .reset-page .input-wrapper {
            position: relative;
        }

        .reset-page .input-wrapper input {
            width: 100%;
            padding: 15px 56px 15px 24px;
            background: white;
            border: 1px solid white;
            border-radius: 16px;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 18px;
            color: #879394;
            outline: none;
            transition: all 0.3s ease;
        }

        .reset-page .input-wrapper input:focus {
            border-color: #6DD6DC;
            box-shadow: 0 0 0 3px rgba(109, 214, 220, 0.2);
        }

        .input-icon {
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            color: #028E94;
            font-size: 18px;
        }

        .password-toggle {
            position: absolute;
            left: 20px;
            top: 50%;
            transform: translateY(-50%);
            color: #879394;
            cursor: pointer;
            font-size: 18px;
        }

        /* Password Strength Indicator */
        .strength-section {
            margin-top: 16px;
            padding: 0 8px;
        }

        .strength-bars {
            display: flex;
            gap: 6px;
            margin-bottom: 12px;
        }

        .strength-bar {
            flex: 1;
            height: 4px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 9999px;
            transition: all 0.3s ease;
        }

        .strength-bar.active {
            background: linear-gradient(270deg, #6DD6DC 0%, #44E3EC 100%);
            box-shadow: 0px 0px 12px rgba(109, 214, 220, 0.6);
        }

        .strength-label {
            font-size: 11px;
            letter-spacing: 1.1px;
            text-transform: uppercase;
            color: #BCC9C9;
            margin-bottom: 4px;
        }

        .strength-value {
            font-size: 13px;
            font-weight: 700;
            color: #6DD6DC;
            margin-bottom: 12px;
        }

        .strength-desc {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 12px;
            color: rgba(188, 201, 201, 0.7);
        }

        .strength-desc i {
            color: #6DD6DC;
            font-size: 12px;
        }

        /* Submit Button */
        .submit-btn {
            width: 100%;
            background: linear-gradient(98.86deg, #028E94 0%, #2B9FA5 100%);
            border: none;
            padding: 20px;
            border-radius: 16px;
            color: #003739;
            font-size: 20px;
            font-weight: 600;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0px 8px 25px rgba(2, 142, 148, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 16px;
            margin-top: 16px;
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0px 12px 30px rgba(2, 142, 148, 0.5);
        }

        /* Back Link */
        .back-link {
            text-align: center;
            margin-top: 24px;
        }

        .back-link a {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            font-size: 16px;
            color: #BCC9C9;
            text-decoration: none;
            transition: opacity 0.3s ease;
        }

        .back-link a:hover {
            opacity: 0.8;
        }

        .back-link a i {
            font-size: 12px;
        }

        /* Footer Links (Reset Page Scope) */
        .reset-page .footer-links {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 32px;
            margin-top: 48px;
            flex-wrap: wrap;
        }

        .reset-page .footer-links a {
            font-size: 11px;
            letter-spacing: 2.2px;
            text-transform: uppercase;
            color: #8999A1;
            text-decoration: none;
            transition: opacity 0.3s ease;
        }

        .reset-page .footer-links a:hover {
            opacity: 0.7;
        }

        .reset-page .footer-links span {
            color: #8999A1;
            opacity: 0.2;
            font-size: 11px;
        }

        .reset-page .copyright {
            text-align: center;
            margin-top: 32px;
        }

        .reset-page .copyright p {
            font-size: 10px;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: #8999A1;
        }

        @media (max-width: 640px) {
            .reset-card {
                padding: 32px 24px;
            }
            .reset-header h1 {
                font-size: 28px;
            }
            .reset-header p {
                font-size: 16px;
            }
            .reset-page .footer-links {
                gap: 16px;
            }
        }
/*=================================================*/
/* Service Requests Page Specific Styles */
        .requests-page {
            background: #FFFFFF;
        }

        /* Header Override */
        .requests-page .header {
            background: #FFFFFF;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        /* Main Layout */
        .requests-main {
            max-width: 1280px;
            margin: 0 auto;
            padding: 32px 24px;
        }

        /* Page Header */
        .page-header h1 {
            font-size: 48px;
            font-weight: 700;
            color: #00162A;
            margin-bottom: 8px;
        }

        .page-header p {
            font-size: 18px;
            color: #43474D;
            margin-bottom: 32px;
        }

        /* Two Column Layout */
        .two-columns {
            display: flex;
            gap: 32px;
            flex-wrap: wrap;
        }

        /* Sidebar Filters */
        .filters-sidebar {
            width: 320px;
            flex-shrink: 0;
        }

        .filter-card {
            background: #FFFFFF;
            border: 1px solid rgba(195, 198, 206, 0.3);
            border-radius: 16px;
            padding: 24px 20px;
            margin-bottom: 24px;
        }

        .filter-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 24px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(61, 73, 73, 0.2);
        }

        .filter-header h3 {
            font-size: 18px;
            font-weight: 700;
            color: #04294D;
        }

        .filter-section {
            margin-bottom: 28px;
        }

        .filter-section h4 {
            font-size: 16px;
            font-weight: 500;
            color: #078184;
            margin-bottom: 12px;
        }

        .service-type-options {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .service-option {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 16px;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .service-option.active {
            background: #078184;
            color: white;
        }

        .service-option:not(.active) {
            background: #04294D;
            color: white;
        }

        .service-option span:first-child {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .category-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
            cursor: pointer;
        }

        .category-label {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .category-count {
            font-size: 10px;
            color: #078184;
        }

        .rating-option {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
        }

        .stars {
            color: #FFB68A;
            font-size: 12px;
        }

        .price-range {
            margin: 16px 0;
        }

        .range-slider {
            width: 100%;
            height: 4px;
            background: #078184;
            border-radius: 9999px;
            position: relative;
            margin: 20px 0;
        }

        .range-handle {
            width: 18px;
            height: 18px;
            background: #04294D;
            border-radius: 50%;
            position: absolute;
            top: -7px;
            left: 50%;
            transform: translateX(-50%);
            cursor: pointer;
            box-shadow: 0 0 10px rgba(109, 214, 220, 0.5);
        }

        .range-values {
            display: flex;
            justify-content: space-between;
            font-size: 10px;
            color: #078184;
        }

        .location-select {
            width: 100%;
            padding: 12px 16px;
            background: #078184;
            border: none;
            border-radius: 12px;
            color: white;
            font-family: 'Tajawal', sans-serif;
            margin-bottom: 16px;
        }

        .filter-actions {
            margin-top: 24px;
            padding-top: 24px;
            border-top: 1px solid rgba(61, 73, 73, 0.2);
        }

        .btn-apply {
            width: 100%;
            background: #04294D;
            color: white;
            padding: 12px;
            border: none;
            border-radius: 12px;
            font-weight: 700;
            margin-bottom: 12px;
            cursor: pointer;
        }

        .btn-reset {
            width: 100%;
            background: transparent;
            border: 1px solid rgba(61, 73, 73, 0.5);
            padding: 12px;
            border-radius: 12px;
            color: #078184;
            font-weight: 700;
            cursor: pointer;
        }

        .tip-card {
            background: rgba(120, 246, 241, 0.3);
            border-radius: 12px;
            padding: 16px;
            display: flex;
            gap: 12px;
            align-items: flex-start;
        }

        .tip-card i {
            color: #00706E;
            font-size: 20px;
        }

        .tip-card h4 {
            font-size: 16px;
            font-weight: 500;
            color: #00706E;
            margin-bottom: 4px;
        }

        .tip-card p {
            font-size: 12px;
            font-weight: 700;
            color: rgba(0, 112, 110, 0.8);
        }

        /* Main Feed */
        .main-feed {
            flex: 1;
            min-width: 280px;
        }

        /* Filter Summary Bar */
        .filter-summary {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 16px;
            background: white;
            border: 1px solid #C3C5D7;
            border-radius: 20px;
            padding: 16px;
            margin-bottom: 32px;
        }

        .filter-tags {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }

        .filter-tag {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 6px 12px;
            background: rgba(0, 63, 177, 0.1);
            border: 1px solid rgba(0, 63, 177, 0.2);
            border-radius: 8px;
            font-size: 14px;
            color: #089497;
        }

        .clear-all {
            font-size: 14px;
            color: #6B7280;
            cursor: pointer;
        }

        .active-filters {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .active-label {
            font-size: 14px;
            font-weight: 700;
            color: #04294D;
        }

        /* Price filter header */
        .price-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 4px;
        }

        .price-header h4 {
            margin-bottom: 0;
        }

        .price-value {
            font-size: 13px;
            font-weight: 700;
            color: #089497;
        }

        /* Request Card */
        .request-card {
            background: white;
            border: 1px solid #C3C5D7;
            border-radius: 20px;
            margin-bottom: 24px;
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .request-card-layout {
            display: flex;
            flex-wrap: nowrap;
            align-items: stretch;
        }

        .request-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .card-content {
            padding: 32px;
            flex: 1;
        }

        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            flex-wrap: wrap;
            gap: 16px;
            margin-bottom: 16px;
        }

        .offers-badge {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 8px 12px;
            background: #F0F3FF;
            border-radius: 12px;
            text-align: center;
        }

        .offers-number {
            font-size: 36px;
            font-weight: 700;
            color: #089497;
            line-height: 1;
        }

        .offers-label {
            font-size: 10px;
            font-weight: 700;
            color: #434654;
            text-transform: uppercase;
        }

        .request-title {
            font-size: 16px;
            font-weight: 500;
            color: #151C27;
        }

        .request-desc {
            font-size: 16px;
            color: #434654;
            line-height: 1.5;
            margin-bottom: 24px;
        }

        .request-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 32px;
            padding: 16px 0;
            border-bottom: 1px solid rgba(195, 197, 215, 0.5);
            margin-bottom: 24px;
        }

        .meta-item {
            text-align: right;
        }

        .meta-label {
            font-size: 10px;
            font-weight: 700;
            color: #434654;
            text-transform: uppercase;
            margin-bottom: 4px;
        }

        .meta-value {
            font-size: 16px;
            color: #151C27;
        }

        .card-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 16px;
        }

        .btn-quote {
            background: #089497;
            border: none;
            padding: 14px 32px;
            border-radius: 12px;
            color: white;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(8, 148, 151, 0.3);
        }

        .btn-quote:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(8, 148, 151, 0.4);
        }

        .craftsman-avatars {
            display: flex;
            align-items: center;
        }

        .avatar {
            width: 32px;
            height: 32px;
            background: #DBE1FF;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 10px;
            font-weight: 700;
            color: #089497;
            border: 2px solid white;
            margin-right: -8px;
        }

        .avatar:first-child {
            margin-right: 0;
        }

        /* Card Image */
        .card-image {
            width: 168px;
            min-height: 100%;
            background-size: cover;
            background-position: center;
            position: relative;
            align-self: stretch;
            flex-shrink: 0;
        }

        .image-badges {
            position: absolute;
            top: 16px;
            right: 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .image-badge {
            padding: 6px 12px;
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(4px);
            border-radius: 9999px;
            font-size: 14px;
            color: #089497;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .image-badge.green {
            background: rgba(126, 251, 164, 0.9);
            color: #005228;
        }

        .image-badge.blue {
            background: #1D4ED8;
            color: #fff;
        }

        /* Pagination */
        .pagination {
            display: flex;
            justify-content: center;
            gap: 16px;
            margin-top: 48px;
        }

        .page-btn {
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #C3C5D7;
            border-radius: 20px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .page-btn.active {
            background: #089497;
            color: white;
            border-color: #089497;
        }

        .page-btn:hover:not(.active) {
            border-color: #089497;
        }

        @media (max-width: 1024px) {
            .two-columns {
                flex-direction: column;
            }
            .filters-sidebar {
                width: 100%;
            }
            .request-card-layout {
                flex-wrap: wrap;
            }
            .card-image {
                width: 100%;
                height: 200px;
                min-height: 200px;
            }
            .card-content {
                width: 100%;
            }
        }

        @media (max-width: 768px) {
            .page-header h1 {
                font-size: 32px;
            }
            .request-meta {
                flex-direction: column;
                gap: 12px;
            }
            .card-footer {
                flex-direction: column;
                align-items: stretch;
            }
            .btn-quote {
                justify-content: center;
            }
        }

        /* ===== Request Details Page ===== */
        /* Bigger detail card with icon-based meta */
        .detail-card .card-content {
            padding: 40px;
        }

        .detail-card .request-title {
            font-size: 22px;
        }

        .detail-card .request-desc {
            font-size: 18px;
            line-height: 1.6;
        }

        .detail-card .request-meta {
            gap: 24px;
        }

        .detail-card .meta-item {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .meta-icon {
            width: 48px;
            height: 48px;
            flex-shrink: 0;
            border-radius: 50%;
            background: rgba(0, 63, 177, 0.05);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #089497;
            font-size: 18px;
        }

        .detail-card .offers-number {
            font-size: 44px;
        }

        /* Offers Section */
        .offers-section {
            margin-top: 40px;
        }

        .offers-section-header {
            text-align: left;
            margin-bottom: 24px;
        }

        .offers-section-header h2 {
            font-size: 24px;
            font-weight: 700;
            color: #04294D;
        }

        .offer-card {
            position: relative;
            background: #FFFFFF;
            border: 1px solid #C3C5D7;
            border-radius: 20px;
            padding: 28px 32px;
            margin-bottom: 24px;
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .offer-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        }

        .offer-badge {
            position: absolute;
            top: 0;
            right: 0;
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 6px 16px;
            font-size: 13px;
            font-weight: 700;
            color: #FFFFFF;
            border-bottom-left-radius: 14px;
        }

        .offer-badge.top-rated {
            background: #F59E0B;
        }

        .offer-badge.best-price {
            background: #22A565;
        }

        .offer-card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            flex-wrap: wrap;
            gap: 16px;
            margin-bottom: 16px;
        }

        .offer-craftsman {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .offer-avatar {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid #E2E8F8;
        }

        .offer-name {
            font-size: 18px;
            font-weight: 700;
            color: #151C27;
            margin-bottom: 4px;
        }

        .offer-rating {
            font-size: 14px;
            color: #151C27;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .offer-rating .fa-star {
            color: #F59E0B;
            font-size: 13px;
        }

        .offer-rating .rating-num {
            font-weight: 700;
        }

        .offer-muted {
            color: #6B7280;
            font-size: 13px;
        }

        .offer-price-block {
            text-align: left;
        }

        .offer-price {
            font-size: 30px;
            font-weight: 800;
            color: #04294D;
            line-height: 1;
        }

        .offer-delivery {
            font-size: 13px;
            color: #6B7280;
            margin-top: 6px;
        }

        .offer-desc {
            font-size: 16px;
            color: #434654;
            line-height: 1.6;
            margin-bottom: 20px;
        }

        .offer-actions {
            display: flex;
            justify-content: flex-end;
            gap: 12px;
        }

        .btn-chat {
            background: transparent;
            border: 1px solid #089497;
            color: #089497;
            padding: 12px 28px;
            border-radius: 12px;
            font-size: 15px;
            font-weight: 500;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
        }

        .btn-chat:hover {
            background: rgba(8, 148, 151, 0.08);
        }

        .btn-accept {
            background: #089497;
            border: none;
            color: #FFFFFF;
            padding: 12px 32px;
            border-radius: 12px;
            font-size: 15px;
            font-weight: 500;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(8, 148, 151, 0.3);
        }

        .btn-accept:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(8, 148, 151, 0.4);
        }

        .view-all-offers {
            text-align: center;
            margin-top: 16px;
        }

        .btn-view-all-offers {
            background: transparent;
            border: none;
            color: #089497;
            font-size: 16px;
            font-weight: 700;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        @media (max-width: 768px) {
            .offer-card-header {
                flex-direction: column-reverse;
                align-items: stretch;
            }
            .offer-price-block {
                text-align: right;
            }
            .offer-actions {
                flex-direction: column;
            }
            .btn-chat, .btn-accept {
                justify-content: center;
            }
        }
/*===================================================*/
 /* OTP Page Specific Styles */
        .otp-page {
            background: #0C2848;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Header Override */
        .otp-page .header {
            background: rgba(249, 249, 255, 0.9);
            backdrop-filter: blur(6px);
            position: relative;
            z-index: 20;
        }

        .otp-page .header .btn-primary {
            background: #006769;
        }

        .otp-page .header .btn-outline {
            color: #006769;
            border-color: #006769;
        }

        /* Main Container */
        .otp-container {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 60px 24px;
            position: relative;
            min-height: calc(100vh - 76px);
        }

        /* Background Effects */
        .bg-orb-top {
            position: absolute;
            width: 600px;
            height: 600px;
            left: -17px;
            top: -21px;
            background: radial-gradient(70.71% 70.71% at 50% 50%, rgba(2, 142, 148, 0.15) 0%, rgba(2, 142, 148, 0) 70%);
            filter: blur(30px);
            border-radius: 50%;
            pointer-events: none;
        }

        .bg-orb-bottom {
            position: absolute;
            width: 600px;
            height: 600px;
            right: 0px;
            bottom: 37px;
            background: radial-gradient(70.71% 70.71% at 50% 50%, rgba(2, 142, 148, 0.15) 0%, rgba(2, 142, 148, 0) 70%);
            opacity: 0.5;
            filter: blur(30px);
            border-radius: 50%;
            pointer-events: none;
        }

        /* Logo Section */
        .logo-section {
            text-align: center;
            margin-bottom: 48px;
        }

        .logo-icon {
            width: 80px;
            height: 80px;
            background: rgba(109, 214, 220, 0.1);
            border: 1px solid rgba(109, 214, 220, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 24px;
        }

        .logo-icon i {
            font-size: 35px;
            color: #6DD6DC;
        }

        .logo-section h1 {
            font-size: 48px;
            font-weight: 700;
            color: #6DD6DC;
            letter-spacing: -2.4px;
        }

        /* OTP Card */
        .otp-card {
            width: 100%;
            max-width: 512px;
            background: rgba(16, 20, 21, 0.4);
            border: 1px solid rgba(2, 142, 148, 0.3);
            border-radius: 16px;
            backdrop-filter: blur(12px);
            box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.4), inset 0px 0px 20px 1px rgba(2, 142, 148, 0.05);
            padding: 56px;
            text-align: center;
        }

        .otp-header h2 {
            font-size: 36px;
            font-weight: 700;
            color: #E0E3E5;
            letter-spacing: -0.75px;
            margin-bottom: 16px;
        }

        .otp-header p {
            font-size: 16px;
            color: #C3C6D7;
            opacity: 0.8;
            margin-bottom: 8px;
        }

        .phone-number {
            font-size: 16px;
            font-weight: 700;
            color: #6DD6DC;
            margin-bottom: 40px;
        }

        /* OTP Input Fields */
        .otp-inputs {
            display: flex;
            justify-content: center;
            gap: 16px;
            margin-bottom: 48px;
            flex-wrap: wrap;
        }

        .otp-input {
            width: 64px;
            height: 80px;
            text-align: center;
            font-size: 28px;
            font-weight: 700;
            font-family: 'Plus Jakarta Sans', monospace;
            background: white;
            border: 1px solid #6B7280;
            border-radius: 12px;
            outline: none;
            transition: all 0.3s ease;
        }

        .otp-input:focus {
            border-color: #6DD6DC;
            box-shadow: 0 0 0 3px rgba(109, 214, 220, 0.2);
        }

        /* Verify Button */
        .verify-btn {
            width: 100%;
            background: #219BA1;
            border: none;
            padding: 16px;
            border-radius: 12px;
            color: white;
            font-size: 20px;
            font-weight: 700;
            font-family: 'Tajawal', sans-serif;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0px 4px 15px rgba(109, 214, 220, 0.3), 0px 0px 30px rgba(2, 142, 148, 0.2);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            margin-bottom: 40px;
        }

        .verify-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0px 8px 25px rgba(109, 214, 220, 0.4);
        }

        /* Resend Section */
        .resend-section {
            margin-bottom: 20px;
        }

        .resend-text {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-bottom: 20px;
        }

        .resend-text span:first-child {
            font-size: 14px;
            color: #C3C6D7;
        }

        .resend-link {
            font-size: 14px;
            font-weight: 700;
            color: #269DA3;
            text-decoration: none;
            cursor: pointer;
            transition: opacity 0.3s ease;
        }

        .resend-link:hover {
            opacity: 0.8;
        }

        /* Change Number Link */
        .change-number {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            color: #C3C6D7;
            text-decoration: none;
            cursor: pointer;
            transition: opacity 0.3s ease;
        }

        .change-number i {
            font-size: 12px;
        }

        .change-number:hover {
            opacity: 0.8;
        }

        /* Footer */
        .otp-footer {
            width: 100%;
            max-width: 1280px;
            margin-top: auto;
            background: rgba(0, 0, 0, 0.2);
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(6px);
            padding: 24px 64px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .otp-page .footer-links {
            display: flex;
            gap: 24px;
            flex-wrap: wrap;
        }

        .otp-page .footer-links a {
            font-size: 12px;
            color: #BCC9C9;
            text-decoration: none;
            transition: opacity 0.3s ease;
        }

        .otp-page .footer-links a:hover {
            opacity: 0.7;
        }

        .footer-copyright {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            color: #BCC9C9;
            opacity: 0.6;
        }

        .footer-brand {
            font-size: 24px;
            font-weight: 700;
            color: #6DD6DC;
        }

        @media (max-width: 640px) {
            .otp-card {
                padding: 32px 24px;
            }
            .otp-header h2 {
                font-size: 28px;
            }
            .otp-input {
                width: 48px;
                height: 60px;
                font-size: 22px;
            }
            .otp-inputs {
                gap: 10px;
            }
            .otp-footer {
                padding: 20px 24px;
                flex-direction: column;
                text-align: center;
            }
            .otp-page .footer-links {
                justify-content: center;
            }
        }

        @media (max-width: 480px) {
            .otp-input {
                width: 40px;
                height: 50px;
                font-size: 18px;
            }
            .otp-inputs {
                gap: 8px;
            }
        }
/*=================================================*/
 /* Contact Page Specific Styles */
        .contact-page {
            background: #FFFFFF;
        }

        /* Header Override */
        .contact-page .header {
            background: #FFFFFF;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        /* Hero Section */
        .contact-hero {
            background: radial-gradient(120.65% 178.74% at 100% 0%, rgba(3, 142, 148, 0.36) 0%, rgba(248, 249, 250, 0.36) 60%);
            padding: 48px 24px 80px;
        }

        .hero-content {
            max-width: 672px;
            margin-bottom: 48px;
        }

        .hero-content h1 {
            font-size: 48px;
            font-weight: 700;
            color: #038E94;
            letter-spacing: -0.96px;
            margin-bottom: 16px;
        }

        .hero-content p {
            font-size: 18px;
            color: #434655;
        }

        /* Contact Layout */
        .contact-layout {
            max-width: 1280px;
            margin: 0 auto;
            display: flex;
            gap: 48px;
            flex-wrap: wrap;
        }

        /* النموذج يميناً وبطاقة معلومات التواصل يساراً
           (في RTL يبدأ الصف من اليمين، فالعنصر ذو order الأصغر يقع يميناً) */
        .contact-layout .contact-form-container { order: 1; }
        .contact-layout .contact-info { order: 2; }

        /* Contact Info Section */
        .contact-info {
            flex: 1;
            min-width: 280px;
        }

        .contact-page .info-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 24px;
            margin-bottom: 24px;
        }

        .contact-page .info-card h3 {
            font-size: 24px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 24px;
        }

        .info-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 16px;
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            margin-bottom: 16px;
        }

        .info-icon {
            width: 48px;
            height: 48px;
            background: rgba(0, 74, 198, 0.1);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .info-icon i {
            font-size: 20px;
            color: #038E94;
        }

        .info-details {
            flex: 1;
        }

        .info-details .label {
            font-size: 14px;
            font-weight: 700;
            color: #434655;
            margin-bottom: 4px;
        }

        .info-details .value {
            font-size: 16px;
            font-weight: 600;
            color: #191C1D;
        }

        /* Social Links */
        .social-section {
            margin-top: 24px;
        }

        .social-section h4 {
            font-size: 14px;
            font-weight: 700;
            color: #434655;
            text-transform: uppercase;
            margin-bottom: 16px;
        }

        .social-icons {
            display: flex;
            gap: 16px;
        }

        .social-icon {
            width: 40px;
            height: 40px;
            background: #E7E8E9;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #038E94;
            transition: all 0.3s ease;
        }

        .social-icon:hover {
            background: #038E94;
            color: white;
        }

        /* Contact Form Section */
        .contact-form-container {
            flex: 1;
            min-width: 400px;
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.5);
            border-radius: 12px;
            padding: 48px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .form-row {
            display: flex;
            gap: 24px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }

        .contact-page .form-group {
            flex: 1;
        }

        .contact-page .form-group label {
            display: block;
            font-size: 14px;
            font-weight: 700;
            color: #434655;
            margin-bottom: 8px;
        }

        .contact-page .form-group input,
        .contact-page .form-group select,
        .contact-page .form-group textarea {
            width: 100%;
            padding: 16px;
            background: #F3F4F5;
            border: none;
            border-radius: 12px;
            font-family: 'Tajawal', sans-serif;
            font-size: 16px;
            color: #6B7280;
            outline: none;
            transition: all 0.3s ease;
        }

        .contact-page .form-group input:focus,
        .contact-page .form-group select:focus,
        .contact-page .form-group textarea:focus {
            box-shadow: 0 0 0 2px #038E94;
            background: white;
        }

        .contact-page .form-group textarea {
            resize: vertical;
            min-height: 120px;
        }

        .btn-submit {
            background: #038E94;
            border: none;
            padding: 16px 80px;
            border-radius: 12px;
            color: white;
            font-size: 14px;
            font-weight: 700;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(3, 142, 148, 0.3);
        }

        .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(3, 142, 148, 0.4);
        }

        /* Map Section */
        .map-section {
            margin-top: 48px;
            position: relative;
            height: 450px;
            background: #EDEEEF;
        }

        .map-container {
            width: 100%;
            height: 100%;
            background: linear-gradient(0deg, #FFFFFF, #FFFFFF), url('https://placehold.co/1280x450/EDEEEF/038E94?text=خريطة+دبرلي');
            background-blend-mode: saturation;
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .map-frame {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
            z-index: 0;
        }

        .map-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0, 74, 198, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 16px;
            pointer-events: none;
        }

        .map-marker {
            background: white;
            padding: 16px;
            border-radius: 50%;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        }

        .map-marker i {
            font-size: 24px;
            color: #038E94;
        }

        .map-label {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(6px);
            padding: 8px 24px;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 700;
            color: #038E94;
        }

        .get-directions {
            position: absolute;
            bottom: 32px;
            right: 32px;
            background: white;
            padding: 12px 24px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            font-weight: 700;
            color: #191C1D;
            text-decoration: none;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .get-directions:hover {
            transform: translateY(-2px);
        }

        @media (max-width: 768px) {
            .hero-content h1 {
                font-size: 32px;
            }
            .contact-form-container {
                padding: 32px 24px;
                min-width: 280px;
            }
            .form-row {
                flex-direction: column;
                gap: 16px;
            }
            .btn-submit {
                width: 100%;
                justify-content: center;
            }
            .map-label {
                font-size: 12px;
                padding: 6px 16px;
            }
            .get-directions {
                bottom: 16px;
                right: 16px;
                left: 16px;
                justify-content: center;
            }
        }

/*=================================================*/
 /* Terms Page Specific Styles */
        .terms-page {
            background: #FFFFFF;
        }

        /* Header Override */
        .terms-page .header {
            background: #FFFFFF;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        /* Main Content */
        .terms-main {
            max-width: 1280px;
            margin: 0 auto;
            padding: 48px 24px;
        }

        /* Header Section */
        .terms-header {
            margin-bottom: 48px;
        }

        .update-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: #DBE1FF;
            padding: 4px 12px;
            border-radius: 9999px;
            font-size: 12px;
            color: #038E94;
            margin-bottom: 16px;
        }

        .terms-header h1 {
            font-size: 48px;
            font-weight: 700;
            color: #191C1D;
            letter-spacing: -0.96px;
            margin-bottom: 12px;
        }

        .terms-header p {
            font-size: 18px;
            color: #434655;
            max-width: 800px;
        }

        /* Two Column Layout */
        .terms-layout {
            display: flex;
            gap: 48px;
            flex-wrap: wrap;
        }

        /* Side Navigation */
        .terms-sidebar {
            width: 288px;
            flex-shrink: 0;
        }

        .side-nav {
            background: #F3F4F5;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 24px;
            margin-bottom: 24px;
        }

        .side-nav h3 {
            font-size: 14px;
            font-weight: 700;
            color: #434655;
            text-transform: uppercase;
            letter-spacing: 0.7px;
            margin-bottom: 16px;
            padding-right: 8px;
        }

        .side-nav ul {
            list-style: none;
            padding: 0;
        }

        .side-nav li {
            margin-bottom: 4px;
        }

        .side-nav a {
            display: block;
            padding: 12px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 700;
            color: #434655;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .side-nav a:hover,
        .side-nav a.active {
            background: #E8E9EA;
            color: #038E94;
        }

        /* Support Card */
        .support-card {
            background: #0C2848;
            border-radius: 12px;
            padding: 24px;
            position: relative;
            overflow: hidden;
        }

        .support-card::before {
            content: '';
            position: absolute;
            width: 90px;
            height: 95px;
            left: -27px;
            bottom: -10px;
            background: #EEEFFF;
            opacity: 0.1;
            transform: rotate(12deg);
            border-radius: 12px;
        }

        .support-card h4 {
            font-size: 20px;
            font-weight: 700;
            color: #EEEFFF;
            margin-bottom: 4px;
        }

        .support-card p {
            font-size: 20px;
            font-weight: 700;
            color: #EEEFFF;
            margin-bottom: 20px;
        }

        .support-btn {
            background: white;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 700;
            color: #038E94;
            cursor: pointer;
            width: 100%;
            transition: all 0.3s ease;
        }

        .support-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        }

        /* Content Area */
        .terms-content {
            flex: 1;
            min-width: 280px;
        }

        /* Section Styles */
        .terms-section {
            margin-bottom: 60px;
            scroll-margin-top: 100px;
        }

        .section-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 24px;
        }

        .section-header h2 {
            font-size: 32px;
            font-weight: 700;
            color: #038E94;
        }

        .section-header i {
            font-size: 24px;
            color: #038E94;
        }

        .section-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 32px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .section-card p {
            font-size: 16px;
            line-height: 1.6;
            color: #434655;
            margin-bottom: 16px;
        }

        .sub-section {
            margin-bottom: 24px;
        }

        .sub-section h3 {
            font-size: 20px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 16px;
        }

        .list-items {
            list-style: none;
            padding: 0;
        }

        .list-items li {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
            font-size: 16px;
            color: #434655;
        }

        .list-items li i {
            color: #855300;
            font-size: 14px;
        }

        /* Two column sub-sections */
        .two-col-grid {
            display: flex;
            gap: 24px;
            flex-wrap: wrap;
            margin-top: 16px;
        }

        .col {
            flex: 1;
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 20px;
        }

        .col h4 {
            font-size: 14px;
            font-weight: 700;
            color: #038E94;
            margin-bottom: 12px;
        }

        .col p {
            font-size: 14px;
            line-height: 1.5;
            color: #434655;
            margin-bottom: 0;
        }

        /* Table Styles */
        .fee-table {
            width: 100%;
            border-collapse: collapse;
        }

        .fee-table th,
        .fee-table td {
            padding: 12px;
            text-align: right;
            border-bottom: 1px solid #C3C6D7;
        }

        .fee-table th {
            font-weight: 700;
            color: #434655;
        }

        .fee-table td {
            color: #434655;
        }

        .fee-table td:first-child {
            color: #038E94;
            font-weight: 500;
        }

        /* Warning Box */
        .warning-box {
            background: rgba(255, 218, 214, 0.2);
            border-right: 4px solid #BA1A1A;
            border-radius: 8px;
            padding: 20px;
            margin-top: 20px;
        }

        .warning-box p {
            font-size: 14px;
            color: #93000A;
            margin-bottom: 0;
        }

        .warning-box strong {
            color: #93000A;
        }

        @media (max-width: 1024px) {
            .terms-layout {
                flex-direction: column;
            }
            .terms-sidebar {
                width: 100%;
            }
            .two-col-grid {
                flex-direction: column;
            }
        }

        @media (max-width: 768px) {
            .terms-header h1 {
                font-size: 32px;
            }
            .section-header h2 {
                font-size: 24px;
            }
            .section-card {
                padding: 20px;
            }
            .fee-table {
                font-size: 12px;
            }
            .fee-table th,
            .fee-table td {
                padding: 8px;
            }
        }
/*=================================================*/



/* Privacy Policy Page Specific Styles */
        .privacy-page {
            background: #FFFFFF;
        }

        /* Header Override */
        .privacy-page .header {
            background: #FFFFFF;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        /* Main Content */
        .privacy-main {
            max-width: 1280px;
            margin: 0 auto;
            padding: 48px 24px;
        }

        /* Header Section */
        .privacy-header {
            margin-bottom: 48px;
        }

        .privacy-header h1 {
            font-size: 48px;
            font-weight: 700;
            color: #038E94;
            letter-spacing: -0.96px;
            margin-bottom: 16px;
        }

        .privacy-header p {
            font-size: 18px;
            color: #434655;
            max-width: 800px;
            margin-bottom: 16px;
        }

        .update-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(255, 221, 184, 0.2);
            padding: 8px 16px;
            border-radius: 9999px;
            font-size: 14px;
            font-weight: 700;
            color: #855300;
        }

        /* Two Column Layout */
        .privacy-layout {
            display: flex;
            gap: 48px;
            flex-wrap: wrap;
        }

        /* Side Navigation */
        .privacy-sidebar {
            width: 272px;
            flex-shrink: 0;
        }

        .side-nav {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 24px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
        }

        .side-nav h3 {
            font-size: 14px;
            font-weight: 700;
            color: #038E94;
            margin-bottom: 20px;
        }

        .side-nav ul {
            list-style: none;
            padding: 0;
        }

        .side-nav li {
            margin-bottom: 12px;
        }

        .side-nav a {
            display: block;
            padding: 4px 0;
            font-size: 14px;
            color: #434655;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .side-nav a:hover,
        .side-nav a.active {
            color: #038E94;
            font-weight: 700;
        }

        /* Content Area */
        .privacy-content {
            flex: 1;
            min-width: 280px;
        }

        /* Section Styles */
        .privacy-section {
            margin-bottom: 48px;
            scroll-margin-top: 100px;
        }

        .section-card {
            background: white;
            border: 1px solid rgba(195, 198, 215, 0.3);
            border-radius: 12px;
            padding: 48px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
        }

        .section-header {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 24px;
        }

        .section-header h2 {
            font-size: 24px;
            font-weight: 700;
            color: #191C1D;
        }

        .section-icon {
            width: 42px;
            height: 42px;
            background: #DBE1FF;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .section-icon i {
            font-size: 20px;
            color: #038E94;
        }

        .section-card p {
            font-size: 16px;
            line-height: 1.6;
            color: #434655;
            margin-bottom: 24px;
        }

        .list-items {
            list-style: none;
            padding: 0;
        }

        .list-items li {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
            font-size: 16px;
            color: #434655;
        }

        .list-items li i {
            color: #855300;
            font-size: 14px;
        }

        /* Grid for usage boxes */
        .usage-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px;
            margin-top: 16px;
        }

        .usage-box {
            background: #F3F4F5;
            border-radius: 8px;
            padding: 24px;
        }

        .usage-box h4 {
            font-size: 14px;
            font-weight: 700;
            color: #191C1D;
            margin-bottom: 8px;
        }

        .usage-box p {
            font-size: 14px;
            color: #434655;
            margin-bottom: 0;
        }

        /* Sharing section */
        .sharing-item {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            padding: 8px 0;
        }

        .sharing-item i {
            color: #855300;
            font-size: 14px;
        }

        .sharing-item strong {
            font-weight: 700;
            color: #434655;
        }

        /* Security note */
        .security-note {
            background: rgba(255, 219, 205, 0.1);
            border-right: 4px solid #943700;
            border-radius: 8px;
            padding: 24px;
            margin-top: 24px;
        }

        .security-note p {
            margin-bottom: 0;
            font-size: 16px;
        }

        /* User rights grid */
        .rights-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
            margin-top: 16px;
        }

        .right-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 20px;
            border: 1px solid rgba(195, 198, 215, 0.2);
            border-radius: 8px;
        }

        .right-item span {
            font-size: 16px;
            color: #434655;
        }

        .right-item i {
            color: #038E94;
            font-size: 18px;
        }

        /* CTA Section */
        .privacy-cta {
            background: #038E94;
            border-radius: 12px;
            padding: 48px;
            text-align: center;
            margin-top: 48px;
        }

        .privacy-cta h3 {
            font-size: 24px;
            font-weight: 700;
            color: white;
            margin-bottom: 8px;
        }

        .privacy-cta p {
            font-size: 16px;
            color: rgba(255, 255, 255, 0.9);
            margin-bottom: 24px;
        }

        .cta-btn {
            background: white;
            border: none;
            padding: 12px 48px;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 700;
            color: #038E94;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
        }

        .cta-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        }

        @media (max-width: 1024px) {
            .privacy-layout {
                flex-direction: column;
            }
            .privacy-sidebar {
                width: 100%;
            }
            .usage-grid,
            .rights-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 768px) {
            .privacy-header h1 {
                font-size: 32px;
            }
            .section-card {
                padding: 24px;
            }
            .section-header h2 {
                font-size: 20px;
            }
        }

/*=================================================*/
/* ===== New Homepage Feature Sections (E/F/G/H) ===== */
.feature-row { padding: 80px 0; }
.fr-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}
.fr-grid > .fr-text,
.fr-grid > .fr-media {
    width: 100%;
    min-width: 0;
}
.fr-text h2 {
    font-size: 36px;
    font-weight: 800;
    color: #0C2848;
    line-height: 1.3;
    margin-bottom: 20px;
}
.fr-text > p {
    font-size: 16px;
    color: #5A6472;
    line-height: 2;
    margin-bottom: 26px;
}
.fr-media img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    display: block;
}

/* Check list (section E) */
.check-list { list-style: none; margin: 0 0 30px; padding: 0; }
.check-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    font-size: 16px;
    font-weight: 600;
    color: #0C2848;
}
.check-list li i {
    flex-shrink: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(2, 142, 148, 0.12);
    color: #028E94;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
}
.btn-dark {
    display: inline-block;
    background: #0C2848;
    color: #fff;
    padding: 15px 36px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-family: 'Tajawal', sans-serif;
    transition: background 0.3s ease;
}
.btn-dark:hover { background: #04294D; }

/* Mission / Vision / Strategy list (section F) */
.mvs-list { margin-top: 8px; }
.mvs-item {
    border-right: 3px solid #028E94;
    padding-right: 18px;
    margin-bottom: 22px;
}
.mvs-item h4 { font-size: 18px; font-weight: 700; color: #0C2848; margin-bottom: 6px; }
.mvs-item p { font-size: 14px; color: #5A6472; line-height: 1.8; margin: 0; }

/* Process / timeline (section G) */
.g-media { display: flex; flex-direction: column; gap: 22px; }
.g-kitchen { position: relative; }
.g-kitchen img { width: 100%; border-radius: 20px; display: block; }
.g-stat {
    position: absolute;
    left: 22px; bottom: -18px;
    background: #0C2848;
    color: #fff;
    border-radius: 14px;
    padding: 12px 20px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(12, 40, 72, 0.25);
}
.g-stat span { display: block; font-size: 22px; font-weight: 800; color: #6DD6DC; }
.g-stat small { font-size: 11px; color: #C3C6D7; }
.timeline { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; }
.tl-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #EAEDF2;
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 6px 18px rgba(12, 40, 72, 0.05);
}
.tl-item i {
    flex-shrink: 0;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: rgba(2, 142, 148, 0.12);
    color: #028E94;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
}
.tl-item h4 { font-size: 16px; font-weight: 700; color: #0C2848; margin-bottom: 3px; }
.tl-item p { font-size: 13px; color: #6B7585; margin: 0; }
.tl-item.active { background: #028E94; border-color: #028E94; }
.tl-item.active i { background: rgba(255,255,255,0.2); color: #fff; }
.tl-item.active h4 { color: #fff; }
.tl-item.active p { color: rgba(255,255,255,0.85); }

/* Featured work gallery (section H) */
.featured-work { padding: 40px 0 90px; }
.fw-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 28px;
    align-items: stretch;
}
.fw-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; display: block; }
.fw-cta-card {
    background: #0C2848;
    border-radius: 20px;
    padding: 36px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}
.fw-cta-card h3 { font-size: 24px; font-weight: 800; margin-bottom: 12px; }
.fw-cta-card p { font-size: 15px; color: #C3C6D7; line-height: 1.8; margin-bottom: 24px; }
.btn-light-sm {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    background: #6DD6DC;
    color: #0C2848;
    padding: 12px 24px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-family: 'Tajawal', sans-serif;
    transition: opacity 0.3s ease;
}
.btn-light-sm:hover { opacity: 0.9; }

@media (max-width: 900px) {
    .fr-grid { grid-template-columns: 1fr; gap: 36px; }
    .fr-media { order: 2; }
    .fw-grid { grid-template-columns: 1fr; }
    .fr-text h2 { font-size: 28px; }
}

/* ===== Featured Services (teal) header + tweaks ===== */
.section-header.light h2 { color: #fff; }
.section-header.light p { color: rgba(255,255,255,0.85); }
.featured-services .section-header { margin-top: 8px; }
.featured-services .fav-btn { left: 12px; right: auto; }

/* ===== Featured Craftsmen — horizontal cards (homepage) ===== */
.craftsmen .craftsman-card {
    flex-direction: column;
    gap: 0;
    padding: 22px 22px 20px;
}
.craftsmen .cc-top {
    display: flex;
    flex-direction: row-reverse; /* photo pinned right, info fills left */
    align-items: center;
    gap: 14px;
    padding-bottom: 18px;
}
.craftsmen .cc-info { flex: 1; text-align: right; }
.craftsmen .cc-info h4 { font-size: 18px; color: #0C2848; margin: 0 0 4px; }
.craftsmen .cc-role {
    display: block;
    color: #028E94;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 8px;
}
.craftsmen .cc-info .rating { color: #EAB308; font-size: 14px; margin: 0; }
.craftsmen .cc-info .rating span { color: #6B7585; }
.craftsmen .cc-photo {
    flex-shrink: 0;
    width: 92px;
    height: 92px;
    border-radius: 16px;
    overflow: hidden;
}
.craftsmen .cc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.craftsmen .cc-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #EEF1F4;
    padding-top: 16px;
}
.craftsmen .cc-price { text-align: right; line-height: 1.4; }
.craftsmen .cc-price small { display: block; font-size: 12px; color: #6B7585; }
.craftsmen .cc-price strong { font-size: 16px; color: #028E94; font-weight: 800; }
.craftsmen .btn-sm {
    margin-top: 0;
    padding: 10px 24px;
    border-radius: 10px;
    font-family: 'Tajawal', sans-serif;
    font-weight: 700;
}

/* ===== About — text left, two images right ===== */
.about .about-content { order: 2; }
.about .about-image { order: 1; }
.about-image-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.about-image-pair img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 18px 30px rgba(12,40,72,0.12);
}
@media (max-width: 900px) {
    .about .about-content { order: 2; }
    .about .about-image { order: 1; }
}

/* ===== CTAs: Join (card) + App (phone) — dark, two-column ===== */
.craftsman-cta { text-align: right; }
.cta-join-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
.cta-join-img img { width: 100%; height: auto; display: block; }
.craftsman-cta .btn-large {
    padding: 15px 56px;
    font-size: 20px;
    border-radius: 12px;
}

/* App CTA -> dark navy, phone left, text right */
.app-cta { background: #0C2848; }
.app-cta .app-container {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.app-cta .app-image { text-align: center; }
.app-cta .app-image img {
    width: 100%;
    max-width: 460px;
    border: none;
    border-radius: 16px;
}
.app-cta .app-btn .ab-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    text-align: right;
}
.app-cta .app-btn .ab-text small { font-size: 10px; opacity: 0.75; }
.app-cta .app-btn { font-weight: 700; }

@media (max-width: 900px) {
    .cta-join-grid { grid-template-columns: 1fr; gap: 24px; text-align: center; }
    .app-cta .app-container { grid-template-columns: 1fr; }
}

/* ===== Footer — match design ===== */
.footer-brand .footer-logo img { height: 50px; width: auto; margin-bottom: 18px; }
.footer-brand p { color: #5A6472; line-height: 1.9; font-size: 14px; margin: 0; }
.footer-col h3 { color: #0C2848; font-weight: 800; }
.footer-col a { color: #5A6472; font-size: 14px; }
.newsletter button { background: #0C2848; font-family: 'Tajawal', sans-serif; padding: 14px; }
.footer-bottom { justify-content: center; text-align: center; }
.footer-bottom p { color: #6B7585; font-size: 13px; margin: 0; }

/* ===================== Blog Page ===================== */
.blog-page { background: #F7F8FA; }
.blog-hero { padding: 56px 0 24px; }
.blog-hero h1 { font-size: 44px; font-weight: 800; color: #028E94; margin: 0 0 14px; }
.blog-hero p { font-size: 17px; color: #5A6472; max-width: 720px; line-height: 1.9; margin: 0; }

/* Filter bar */
.blog-filter { padding: 8px 0 28px; }
.blog-filter-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.blog-categories { display: flex; gap: 12px; flex-wrap: wrap; }
.cat-pill {
    border: 1px solid #DDE2E8;
    background: #fff;
    color: #5A6472;
    padding: 10px 22px;
    border-radius: 9999px;
    font-family: 'Tajawal', sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}
.cat-pill:hover { border-color: #028E94; color: #028E94; }
.cat-pill.active { background: #028E94; border-color: #028E94; color: #fff; }
.blog-search {
    position: relative;
    flex: 1;
    min-width: 260px;
    max-width: 440px;
}
.blog-search i {
    position: absolute;
    right: 18px; top: 50%; transform: translateY(-50%);
    color: #9AA7B5;
}
.blog-search input {
    width: 100%;
    padding: 14px 48px 14px 16px;
    border: 1px solid #DDE2E8;
    border-radius: 12px;
    background: #fff;
    font-family: 'Tajawal', sans-serif;
    font-size: 15px;
    outline: none;
}
.blog-search input:focus { border-color: #028E94; }

/* Grid */
.blog-content { padding: 8px 0 60px; }
.blog-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 24px;
    align-items: start;
}
.blog-main, .blog-side { display: flex; flex-direction: column; gap: 24px; }
.blog-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

/* Generic card */
.blog-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(12,40,72,0.06);
    border-top: 4px solid transparent;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(12,40,72,0.10); }
.blog-card .bc-image img { width: 100%; height: 170px; object-fit: cover; display: block; }
.blog-card .bc-body { padding: 18px 20px 22px; }
.card-label { font-size: 13px; font-weight: 700; display: inline-block; margin-bottom: 10px; }
.card-label.teal { color: #028E94; }
.card-label.yellow { color: #E0A100; }
.card-label.light { color: #6DD6DC; }
.blog-card h3 { font-size: 18px; font-weight: 800; color: #0C2848; line-height: 1.5; margin: 0 0 10px; }
.blog-card p { font-size: 14px; color: #6B7585; line-height: 1.8; margin: 0; }
.accent-purple { border-top-color: #7C5CFC; }
.accent-blue { border-top-color: #3B82F6; }
.accent-yellow { border-top-color: #F0B400; }

/* Featured */
.blog-featured {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(12,40,72,0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-featured:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(12,40,72,0.12); }
.bf-image { position: relative; }
.bf-image img { width: 100%; height: 430px; object-fit: cover; display: block; }
.bf-badge {
    position: absolute; top: 18px; left: 18px;
    background: #F58220; color: #fff;
    font-size: 12px; font-weight: 700;
    padding: 6px 16px; border-radius: 9999px;
}
.bf-body { padding: 26px 28px 30px; }
.blog-meta { font-size: 13px; color: #8A94A2; margin-bottom: 14px; }
.blog-meta span { margin: 0 4px; }
.bf-body h2 { font-size: 28px; font-weight: 800; color: #0C2848; line-height: 1.5; margin: 0 0 14px; }
.bf-body p { font-size: 16px; color: #5A6472; line-height: 1.9; margin: 0; }

/* Quick tip card */
.blog-card.tip { border-top: 4px solid #16B187; padding: 22px 22px 18px; }
.tip-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.tip-icon {
    width: 34px; height: 34px; border-radius: 9px;
    background: rgba(22,177,135,0.12); color: #16B187;
    display: flex; align-items: center; justify-content: center;
}
.blog-card.tip .card-label { margin-bottom: 0; }
.tip-foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 16px; color: #8A94A2; font-size: 13px;
}

/* Guide dark card */
.blog-card.guide.dark {
    flex-direction: row-reverse;
    background: #0C2848;
    border-top: none;
    align-items: stretch;
}
.guide-image { flex: 0 0 42%; }
.guide-image img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; display: block; }
.guide-body { padding: 28px 26px; display: flex; flex-direction: column; justify-content: center; }
.blog-card.guide h3 { color: #fff; }
.blog-card.guide p { color: #C3C6D7; }
.guide-link {
    margin-top: 18px;
    color: #6DD6DC; font-weight: 700; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px;
}
.guide-link:hover { opacity: 0.85; }

/* Newsletter CTA */
.blog-newsletter {
    background: #0E9CA0;
    border-radius: 28px;
    margin: 20px 24px 70px;
    padding: 60px 24px;
    text-align: center;
    color: #fff;
}
.blog-newsletter h2 { font-size: 34px; font-weight: 800; margin: 0 0 14px; }
.blog-newsletter p { font-size: 16px; opacity: 0.92; max-width: 640px; margin: 0 auto 30px; line-height: 1.8; }
.bn-form {
    display: flex; gap: 12px; max-width: 620px; margin: 0 auto;
    background: rgba(255,255,255,0.12); padding: 8px; border-radius: 14px;
}
.bn-form input {
    flex: 1; border: none; background: transparent;
    padding: 14px 18px; color: #fff; font-family: 'Tajawal', sans-serif; font-size: 15px; outline: none;
}
.bn-form input::placeholder { color: rgba(255,255,255,0.75); }
.bn-form button {
    background: #fff; color: #0C2848; border: none;
    padding: 14px 30px; border-radius: 10px; font-weight: 700;
    font-family: 'Tajawal', sans-serif; cursor: pointer; white-space: nowrap;
    transition: opacity 0.3s ease;
}
.bn-form button:hover { opacity: 0.9; }

@media (max-width: 900px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog-pair { grid-template-columns: 1fr; }
    .bf-image img { height: 300px; }
    .blog-card.guide.dark { flex-direction: column; }
    .guide-image { flex: none; }
    .bn-form { flex-direction: column; }
}

/* ===================== Listing / متاحون الآن ===================== */
.listing-page-body { background: #F7F8FA; }
.listing-page { padding: 36px 0 60px; }
.listing-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 32px;
    align-items: start;
}
/* Results (right) */
.listing-head { margin-bottom: 24px; }
.listing-head-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap-reverse;
    margin-bottom: 18px;
}
.listing-head-top h1 { font-size: 30px; font-weight: 800; color: #0C2848; margin: 0; }
.listing-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.lchip { font-size: 13px; font-weight: 700; padding: 8px 16px; border-radius: 9999px; }
.lchip.orange { background: #FDEBD9; color: #E07B12; }
.lchip.green { background: #DDF3EC; color: #16B187; }
.lchip.gray { background: #EEF1F4; color: #5A6472; }
.listing-tabs {
    display: inline-flex;
    background: #fff;
    border: 1px solid #E4E8EE;
    border-radius: 12px;
    padding: 5px;
    gap: 4px;
}
.ltab {
    border: none; background: transparent;
    padding: 9px 20px; border-radius: 9px;
    font-family: 'Tajawal', sans-serif; font-size: 14px; font-weight: 600;
    color: #5A6472; cursor: pointer; transition: all 0.25s ease;
}
.ltab.active { background: #028E94; color: #fff; }

/* Cards grid */
.listing-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.svc-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(12,40,72,0.06);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.svc-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(12,40,72,0.12); }
.svc-img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.svc-body { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.svc-body h3 { font-size: 17px; font-weight: 800; color: #0C2848; margin: 0; line-height: 1.5; }
.svc-provider { display: flex; align-items: center; gap: 10px; border-top: 1px solid #EEF1F4; padding-top: 12px; }
.svc-avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.svc-prov-info { display: flex; flex-direction: column; }
.svc-prov-info strong { font-size: 13px; color: #0C2848; }
.svc-prov-info span { font-size: 12px; color: #8A94A2; }
.svc-order {
    margin-top: auto;
    background: #F2811D; color: #fff; border: none;
    padding: 12px; border-radius: 10px;
    font-family: 'Tajawal', sans-serif; font-weight: 700; font-size: 15px;
    cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: background 0.3s ease;
}
.svc-order:hover { background: #DA7012; }

/* Pagination */
.listing-pagination { justify-content: center; gap: 10px; margin-top: 36px; }
.listing-pagination .page-btn {
    min-width: 42px; height: 42px; padding: 0 12px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #E4E8EE; border-radius: 10px; background: #fff;
    color: #5A6472; font-weight: 700; cursor: pointer;
}
.listing-pagination .page-btn.active { background: #028E94; border-color: #028E94; color: #fff; }

/* Filters sidebar (left) */
.listing-filters {
    background: #fff;
    border: 1px solid #EEF1F4;
    border-radius: 16px;
    padding: 22px 20px;
}
.lf-head {
    display: flex; align-items: center; justify-content: flex-end; gap: 10px;
    margin-bottom: 20px;
}
.lf-head h3 { font-size: 18px; font-weight: 800; color: #0C2848; margin: 0; }
.lf-head i { color: #5A6472; }
.lf-section { padding: 16px 0; border-top: 1px solid #F0F2F5; }
.lf-section:first-of-type { border-top: none; padding-top: 0; }
.lf-section h4 { font-size: 14px; font-weight: 700; color: #028E94; margin: 0 0 14px; }
.lf-check {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; color: #3D4949; margin-bottom: 12px; cursor: pointer;
}
.lf-check input { accent-color: #028E94; width: 17px; height: 17px; }
.lf-count { color: #9AA7B5; font-size: 13px; margin-right: auto; }
.lf-rating { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lf-select-mini {
    display: flex; align-items: center; gap: 8px;
    border: 1px solid #E4E8EE; border-radius: 9px; padding: 8px 12px; color: #5A6472; font-size: 14px;
}
.lf-stars-row { display: flex; align-items: center; gap: 8px; }
.lf-stars { color: #F2A900; letter-spacing: 1px; }
.lf-rate-val { font-weight: 700; color: #0C2848; }
.lf-price { display: flex; gap: 12px; }
.lf-price-field { flex: 1; display: flex; align-items: center; gap: 8px; }
.lf-price-field label { font-size: 13px; color: #5A6472; }
.lf-price-field input {
    width: 100%; border: 1px solid #E4E8EE; border-radius: 9px; padding: 9px 10px;
    font-family: 'Tajawal', sans-serif; outline: none;
}
.lf-location {
    width: 100%; border: 1px solid #E4E8EE; border-radius: 10px; padding: 11px 14px;
    font-family: 'Tajawal', sans-serif; color: #3D4949; background: #fff; outline: none;
}
.lf-actions { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.lf-actions .btn-apply {
    background: #0C2848; color: #fff; border: none;
    padding: 14px; border-radius: 10px; font-family: 'Tajawal', sans-serif; font-weight: 700; cursor: pointer;
}
.lf-actions .btn-reset {
    background: #fff; color: #0C2848; border: 1px solid #D5DBE2;
    padding: 14px; border-radius: 10px; font-family: 'Tajawal', sans-serif; font-weight: 700; cursor: pointer;
}
.lf-actions .btn-apply:hover { background: #04294D; }
.lf-actions .btn-reset:hover { background: #F4F6F8; }

@media (max-width: 1100px) { .listing-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 980px) {
    .listing-layout { grid-template-columns: 1fr; }
    .listing-filters { order: 2; }
}
@media (max-width: 680px) { .listing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .listing-grid { grid-template-columns: 1fr; } }

/* ===================== Requests list (موفر خدمة) ===================== */
/* Card: image on the right, content on the left (match design) */
.requests-page .request-card-layout { flex-direction: row-reverse; }
.requests-page .card-image { width: 340px; }
.requests-page .request-card { display: block; text-decoration: none; color: inherit; }

/* Top controls row */
.req-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.req-sort { display: flex; align-items: center; gap: 8px; color: #5A6472; font-size: 14px; }
.req-sort span { color: #0C2848; font-weight: 700; }
.req-available {
    display: inline-flex; align-items: center; gap: 8px;
    background: #16B187; color: #fff; border: none;
    padding: 11px 22px; border-radius: 10px;
    font-family: 'Tajawal', sans-serif; font-weight: 700; cursor: pointer;
}
.req-available:hover { background: #119273; }

/* Left column = filters + tip */
.ls-side { display: flex; flex-direction: column; gap: 20px; }
.req-tip {
    background: rgba(120, 246, 241, 0.25);
    border-radius: 14px;
    padding: 18px;
    display: flex;
    gap: 12px;
}
.req-tip i { color: #0E9CA0; font-size: 20px; margin-top: 2px; }
.req-tip h4 { font-size: 15px; color: #0C2848; margin: 0 0 6px; }
.req-tip p { font-size: 13px; color: #3D4949; line-height: 1.7; margin: 0; }

@media (max-width: 900px) {
    .requests-page .request-card-layout { flex-direction: column; }
    .requests-page .card-image { width: 100%; min-height: 200px; }
}

/* ===================== Search Results (profile cards) ===================== */
.sr-search { padding: 28px 0 6px; }
.sr-search-box { position: relative; max-width: 920px; margin: 0 auto; }
.sr-search-box i { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: #9AA7B5; }
.sr-search-box input {
    width: 100%; padding: 18px 56px 18px 20px;
    border: 1px solid #E1E6EC; border-radius: 14px; background: #fff;
    font-family: 'Tajawal', sans-serif; font-size: 16px; outline: none;
    box-shadow: 0 6px 18px rgba(12,40,72,0.05);
}
.sr-search-box input:focus { border-color: #028E94; }

.prof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.prof-card {
    background: #fff; border-radius: 18px; overflow: hidden;
    box-shadow: 0 8px 24px rgba(12,40,72,0.06);
    display: flex; flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.prof-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(12,40,72,0.10); }
.prof-img img { width: 100%; height: 200px; object-fit: cover; display: block; }
.prof-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 12px; }
.prof-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.prof-top h3 { font-size: 18px; font-weight: 800; color: #0C2848; margin: 0; }
.prof-price { text-align: left; flex-shrink: 0; }
.prof-price span { display: block; font-size: 11px; color: #8A94A2; }
.prof-price strong { font-size: 15px; color: #028E94; font-weight: 800; }
.prof-rating { display: flex; align-items: center; gap: 8px; margin-top: -4px; }
.prof-rating .stars { display: inline-flex; gap: 2px; color: #F5A623; font-size: 14px; }
.prof-rating .stars .fa-star.empty { color: #D9DEE5; }
.prof-rating .rating-value { font-size: 13px; font-weight: 800; color: #0C2848; }
.prof-rating .rating-count { font-size: 12px; color: #8A94A2; }
.prof-desc { font-size: 14px; color: #6B7585; line-height: 1.8; margin: 0; }
.prof-hours { font-size: 13px; font-weight: 700; color: #A97714; }
.prof-hours-off { color: #A97714; }
.prof-loc { font-size: 13px; color: #5A6472; display: flex; align-items: center; gap: 6px; }
.prof-loc i { color: #9AA7B5; }
.prof-available { color: #16B187; font-weight: 700; margin-right: auto; }
.prof-btn {
    display: block; text-align: center; margin-top: 6px; padding: 12px;
    border: 1px solid #028E94; border-radius: 10px; color: #028E94; font-weight: 700;
    text-decoration: none; font-family: 'Tajawal', sans-serif; transition: all 0.3s ease;
}
.prof-btn:hover { background: #028E94; color: #fff; }

@media (max-width: 680px) { .prof-grid { grid-template-columns: 1fr; } }

/* Online-mode badge overlay + tab filtering (SearchResults) */
.prof-img { position: relative; }
.prof-badge {
    display: none;
    position: absolute;
    top: 9px; right: 5px;
    background: #F2A900; color: #fff;
    font-size: 12px; font-weight: 700;
    padding: 7px 16px; border-radius: 9999px;
    min-width: 124px; text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.online-mode .prof-badge { display: inline-block; }
.online-mode .prof-card.no-online { display: none; }
.lf-service-online { display: none; }
.online-mode .lf-service-general { display: none; }
.online-mode .lf-service-online { display: block; }
.online-mode .lf-general-only { display: none; }

/* About — values icon colors (override nth-child to match design) */
.values-grid .value-icon.ic-orange { background: rgba(242, 169, 0, 0.12); }
.values-grid .value-icon.ic-orange i { color: #C77F0A; }
.values-grid .value-icon.ic-light { background: rgba(242, 169, 0, 0.10); }
.values-grid .value-icon.ic-light i { color: #B0791E; }
.values-grid .value-icon.ic-blue { background: rgba(43, 91, 215, 0.10); }
.values-grid .value-icon.ic-blue i { color: #2B5BD7; }

/* Artisan Details — about two-column + price */
.about-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 8px; }
.profile-info .price-hour { color: #028E94; font-weight: 700; }
@media (max-width: 700px) { .about-two-col { grid-template-columns: 1fr; } }

/* Artisan Details — work gallery (two-row layout) */
.work-gallery { display: flex; flex-direction: column; gap: 16px; }
.work-gallery .wg-row { display: flex; gap: 16px; }
.work-gallery .wg {
    flex: 1;
    border-radius: 14px;
    overflow: hidden;
    background: #F3F4F5;
}
.work-gallery .wg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.work-gallery .wg-row-1 .wg { height: 235px; }
.work-gallery .wg-row-2 .wg { height: 235px; }
.work-gallery .wg-copper { flex: 2.2; }
.work-gallery .wg-solar { flex: 3; }
@media (max-width: 700px) {
    .work-gallery .wg-row { flex-direction: column; }
    .work-gallery .wg { height: 200px !important; }
}

/* Artisan Details — reviews summary */
.reviews-summary { display: flex; align-items: center; gap: 40px; padding: 16px 0; }
.rating-score { text-align: center; padding-left: 40px; border-left: 1px solid #E6E9EF; flex-shrink: 0; }
.rating-score .score-num { font-size: 64px; font-weight: 800; color: #028E94; line-height: 1; }
.rating-score .score-stars { color: #F2A900; font-size: 20px; margin: 10px 0 6px; }
.rating-score .score-count { font-size: 13px; color: #6B7585; }
.rating-bars { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 44px; }
.rate-row .rate-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.rate-row .rate-label { font-weight: 700; color: #0C2848; font-size: 14px; }
.rate-row .rate-val { color: #3D4949; font-weight: 700; font-size: 14px; }
.rate-bar { height: 8px; background: #E6E9EF; border-radius: 9999px; overflow: hidden; }
.rate-bar span { display: block; height: 100%; background: #028E94; border-radius: 9999px; }
@media (max-width: 640px) {
    .reviews-summary { flex-direction: column; gap: 24px; }
    .rating-score { padding-left: 0; border-left: none; border-bottom: 1px solid #E6E9EF; padding-bottom: 20px; width: 100%; }
    .rating-bars { grid-template-columns: 1fr; }
}

/* ===== FAQ page — design adjustments ===== */
.faq-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; text-align: right; }
.faq-cta .cta-text h2 { margin-bottom: 8px; }
.faq-cta .cta-text p { margin-bottom: 0; }
.faq-cta .cta-buttons { margin: 0; flex-shrink: 0; }

/* Spotlight: two images (plumber raised-right, carpenter lower-left) */
.artisan-spotlight .spotlight-images { display: flex; align-items: flex-start; position: relative; }
.artisan-spotlight .spotlight-images img {
    width: 54%;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(12, 40, 72, 0.18);
    object-fit: cover;
}
.artisan-spotlight .sp-front { position: relative; z-index: 2; margin-bottom: 42px; }
.artisan-spotlight .sp-back { margin-top: 48px; margin-right: -10%; }

/* Register button -> outline white */
.spotlight-content .btn-register {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
    padding: 13px 34px;
    border-radius: 10px;
    font-family: 'Tajawal', sans-serif;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s ease;
}
.spotlight-content .btn-register:hover { background: rgba(255, 255, 255, 0.12); }

@media (max-width: 768px) {
    .faq-cta .container { flex-direction: column; text-align: center; }
}

/* ==== Required execution stages (request-details / provider browse) ==== */
.req-stages-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(12,40,72,0.06);
    padding: 24px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.req-stages-head { display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 12px; }
.req-stages-head h2 { font-size: 20px; font-weight: 800; color: #0C2848; margin: 0; display: inline-flex; align-items: center; gap: 10px; }
.req-stages-head h2 i { color: var(--brand-primary); }
.req-stages-count { font-size: 13px; font-weight: 700; color: var(--brand-primary); background: rgba(8,148,151,0.08); padding: 5px 14px; border-radius: 999px; white-space: nowrap; }
.req-stages-note {
    display: flex; flex-direction: row-reverse; align-items: flex-start; gap: 10px;
    padding: 12px 14px; background: rgba(8,148,151,0.05); border-radius: 12px;
    font-size: 13px; line-height: 1.8; color: #4A5568; text-align: right;
}
.req-stages-note i { color: var(--brand-primary); margin-top: 3px; }
.req-timeline { display: flex; flex-direction: column; }
.req-tl-item { display: flex; flex-direction: row; gap: 16px; }
.req-tl-marker { flex-shrink: 0; width: 36px; display: flex; flex-direction: column; align-items: center; }
.req-tl-badge {
    flex-shrink: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; font-weight: 800; font-size: 14px;
    background: rgba(8,148,151,0.10); color: var(--brand-primary); border: 2px solid rgba(8,148,151,0.30);
    z-index: 1;
}
.req-tl-line { flex: 1; width: 2px; background: #E1E6EC; margin: 4px 0; min-height: 22px; }
.req-tl-body { flex: 1; text-align: right; padding-bottom: 24px; display: flex; flex-direction: column; gap: 4px; }
.req-tl-item:last-child .req-tl-body { padding-bottom: 0; }
.req-tl-body strong { font-size: 16px; font-weight: 700; color: #0C2848; }
.req-tl-sub { font-size: 13px; color: #6B7585; line-height: 1.7; }
@media (max-width: 680px) { .req-stages-card { padding: 18px; } }

/* ============================================================
   زر Google في صفحة إنشاء الحساب (خلفية فاتحة)
   الأنماط الأصلية مصمّمة لبطاقة تسجيل الدخول الداكنة.
   ============================================================ */
.signup-page .divider { display: flex; align-items: center; justify-content: center; margin: 24px 0; }
.signup-page .divider-line { flex: 1; height: 1px; background: #E5E7EB; }
.signup-page .divider-text { padding: 0 16px; font-size: 13px; color: #6B7280; letter-spacing: .5px; }

.signup-page .social-login { width: 100%; }
.signup-page .google-btn {
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    text-decoration: none;
    transition: all .25s ease;
}
.signup-page .google-btn:hover { background: #F9FAFB; border-color: #9CA3AF; }
.signup-page .google-btn span { font-size: 15px; font-weight: 700; color: #374151; font-family: 'Tajawal', sans-serif; }
.signup-page .google-btn i { font-size: 18px; color: #EA4335; opacity: 1; }
