/* ==========================================================================
   Almanahil Design Theme for Main Layout (Red & Black)
   Inspired by: https://almanahil.om/
   Primary Colors: Red (#c8102e / #dc2626) & Black (#111111 / #1e1e1e)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
    --primary-red: #c8102e;
    --primary-red-hover: #a50d24;
    --primary-red-light: #fef2f2;
    --primary-red-glow: rgba(200, 16, 46, 0.25);
    --secondary-dark: #121212;
    --dark-surface: #1e1e1e;
    --dark-border: #2e2e2e;
    --text-primary: #1a1a1a;
    --text-secondary: #555555;
    --text-muted: #888888;
    --bg-light: #f8f9fa;
    --card-bg: #ffffff;
    --gold-accent: #c5a880;
    --transition-speed: 0.3s;
    --border-radius: 10px;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 14px 38px rgba(0, 0, 0, 0.15);
}

/* Global Typography & Base */
body {
    font-family: 'Cairo', 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: var(--text-primary);
    background-color: var(--bg-light);
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cairo', 'Outfit', sans-serif !important;
    font-weight: 700;
    color: var(--secondary-dark);
}

a {
    color: var(--primary-red);
    transition: all var(--transition-speed) ease;
    text-decoration: none !important;
}

a:hover, a:focus {
    color: var(--primary-red-hover);
}

/* Layout container */
.tm-main-content {
    background-color: transparent;
    width: 100%;
}

.tm-page-wrap {
    max-width: 100% !important;
    width: 100% !important;
    background-color: #ffffff;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.tm-container-outer {
    max-width: 100% !important;
    width: 100% !important;
}

/* Top Bar Announcement / Contact strip */
.almanahil-top-strip {
    background: var(--secondary-dark);
    color: #e0e0e0;
    font-size: 0.88rem;
    padding: 8px 0;
    border-bottom: 2px solid var(--primary-red);
}

.almanahil-top-strip a {
    color: #d1d5db;
    margin-right: 15px;
    font-size: 0.85rem;
}

.almanahil-top-strip a:hover {
    color: var(--primary-red);
}

.almanahil-top-strip .icon-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 18px;
}

/* Navigation Header */
.tm-top-bar-bg {
    display: none !important;
}

.tm-top-bar {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    background: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    padding: 10px 0 !important;
    height: auto !important;
    min-height: 72px;
    border-bottom: 3px solid var(--primary-red);
    transition: padding 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.tm-top-bar.active {
    padding: 8px 0 !important;
    height: auto !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
    background: #ffffff !important;
}

.tm-top-bar .navbar {
    padding: 0;
    align-items: center;
    position: relative;
    width: 100%;
}

.tm-top-bar .navbar-brand-wrapper {
    display: flex;
    align-items: center;
    margin: 0;
}

.tm-top-bar .navbar-brand-link,
.tm-top-bar .navbar-brand,
.tm-top-bar a.img-responsive {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.tm-top-bar .navbar-brand img,
.tm-top-bar img.img-thumbnail,
.tm-top-bar .brand-logo-img {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    height: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain;
    transition: transform 0.3s ease, height 0.3s ease;
}

@media (max-width: 991px) {
    .tm-top-bar {
        height: auto !important;
        min-height: 72px;
        display: flex;
        align-items: center;
    }

    .tm-top-bar .navbar {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        width: 100% !important;
    }

    .tm-top-bar .navbar-brand-wrapper {
        margin: 0 auto !important;
        justify-content: center !important;
        text-align: center !important;
        width: auto !important;
    }

    .tm-top-bar .navbar-brand-link,
    .tm-top-bar .navbar-brand,
    .tm-top-bar a.img-responsive {
        margin: 0 auto !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .tm-top-bar .navbar-brand img,
    .tm-top-bar img.img-thumbnail,
    .tm-top-bar .brand-logo-img {
        margin: 0 auto !important;
        display: block !important;
        height: 56px !important;
        max-height: 56px !important;
    }

    .tm-top-bar .navbar-toggler {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        right: 15px !important;
        margin: 0 !important;
        z-index: 1005 !important;
    }

    [dir="rtl"] .tm-top-bar .navbar-toggler,
    [lang="ar"] .tm-top-bar .navbar-toggler {
        right: auto !important;
        left: 15px !important;
    }

    #mainNav {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 15px !important;
        left: auto !important;
        z-index: 1010 !important;
        width: 220px !important;
        background: #ffffff !important;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
        padding: 12px;
    }

    [dir="rtl"] #mainNav,
    [lang="ar"] #mainNav {
        right: auto !important;
        left: 15px !important;
    }
}

@media (max-width: 767px) {
    .tm-top-bar .navbar-brand img,
    .tm-top-bar img.img-thumbnail,
    .tm-top-bar .brand-logo-img {
        height: 50px !important;
        max-height: 50px !important;
        max-width: 200px !important;
    }
}

@media (max-width: 480px) {
    .tm-top-bar .navbar-brand img,
    .tm-top-bar img.img-thumbnail,
    .tm-top-bar .brand-logo-img {
        height: 44px !important;
        max-height: 44px !important;
        max-width: 170px !important;
    }
}

@media (max-width: 360px) {
    .tm-top-bar .navbar-brand img,
    .tm-top-bar img.img-thumbnail,
    .tm-top-bar .brand-logo-img {
        height: 38px !important;
        max-height: 38px !important;
        max-width: 140px !important;
    }
}

.tm-top-bar.active .navbar-brand img,
.tm-top-bar.active img.img-thumbnail,
.tm-top-bar.active .brand-logo-img {
    height: 52px !important;
    max-height: 52px !important;
    width: auto !important;
}

.tm-top-bar .navbar-brand:hover img {
    transform: scale(1.02);
}

.tm-top-bar.active .navbar-brand {
    font-size: 1.25rem;
}

.tm-top-bar .navbar-expand-lg .navbar-nav .nav-link,
.tm-top-bar.active .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 16px !important;
}

/* Nav Links */
.navbar-nav .nav-item {
    margin: 0 4px;
}

.navbar-nav .nav-link {
    color: var(--secondary-dark) !important;
    font-weight: 600 !important;
    font-size: 1rem;
    padding: 10px 16px !important;
    border-radius: 8px;
    position: relative;
    transition: all 0.25s ease !important;
}

.navbar-nav .nav-link:hover {
    color: var(--primary-red) !important;
    background-color: var(--primary-red-light);
}

.navbar-nav .nav-link.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--primary-red) 0%, #9c0c22 100%) !important;
    box-shadow: 0 4px 12px var(--primary-red-glow);
}

/* Language Switcher */
.navbar-nav .nav-link.language {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e5e7eb;
    background-color: #f9fafb;
    border-radius: 20px;
    padding: 6px 14px !important;
    font-weight: 600;
}

.navbar-nav .nav-link.language:hover {
    border-color: var(--primary-red);
    background-color: #fff;
    color: var(--primary-red) !important;
}

.navbar-nav .nav-link.language img {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* Mobile Nav Toggle */
.navbar-toggler {
    border: 2px solid var(--primary-red) !important;
    padding: 6px 10px;
    border-radius: 8px;
    background-color: #ffffff;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23c8102e' stroke-width='2.5' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}

/* Hero Section & Banners */
.tm-banner {
    position: relative;
    background: #111111;
    overflow: hidden;
}

.tm-banner-bg {
    position: relative;
    background: linear-gradient(135deg, rgba(6, 6, 6, 0.95) 0%, rgba(10, 10, 10, 0.90) 45%, rgba(6, 6, 6, 0.96) 100%), url('../img/gtc-bus-3.png') no-repeat center center !important;
    background-size: cover !important;
    padding: 60px 0 85px;
    z-index: 2;
}

.tm-banner-overlay {
    display: none !important;
}

.tm-banner-header {
    text-align: center;
    margin-bottom: 35px;
}

.almanahil-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(200, 16, 46, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    padding: 6px 18px;
    border-radius: 30px;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35);
}

.tm-banner-title {
    font-size: 2.6rem;
    font-weight: 900;
    color: #ffffff;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.9);
    margin-bottom: 12px;
}

.tm-banner-subtitle {
    font-size: 1.15rem;
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
    max-width: 750px;
    margin: 0 auto;
    font-weight: 500;
}

/* Livewire Search Form / Booking Card in Hero */
.tm-search-form {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 30px !important;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.25) !important;
    border-top: 4px solid var(--primary-red) !important;
    position: relative;
    z-index: 10;
}

.tm-search-form h6 {
    color: var(--secondary-dark);
    font-size: 1.25rem;
    font-weight: 800;
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
}

.tm-search-form h6::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: var(--primary-red);
    border-radius: 2px;
}

.tm-search-form .form-check-input {
    accent-color: var(--primary-red);
}

/* Section Kickers & Headers (Almanahil Style) */
.almanahil-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.almanahil-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary-red);
    font-weight: 800;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    position: relative;
}

.almanahil-section-kicker::before,
.almanahil-section-kicker::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 2px;
    background-color: var(--primary-red);
}

.almanahil-section-title {
    font-size: 2.1rem;
    font-weight: 800;
    color: var(--secondary-dark);
    margin-bottom: 12px;
    line-height: 1.3;
}

.almanahil-section-subtitle {
    font-size: 1.05rem;
    color: var(--text-secondary);
    max-width: 720px;
    margin: 0 auto;
}

/* Section Wrappers */
.almanahil-section {
    padding: 70px 0;
    position: relative;
}

.almanahil-section-gray {
    background-color: #f8f9fa;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
}

.almanahil-section-dark {
    background: linear-gradient(135deg, #181818 0%, #111111 100%);
    color: #ffffff;
    border-top: 3px solid var(--primary-red);
}

.almanahil-section-dark .almanahil-section-title {
    color: #ffffff;
}

.almanahil-section-dark .almanahil-section-subtitle {
    color: #a0aec0;
}

/* Almanahil Feature Cards (Vision, Values, Goals) */
.almanahil-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 30px 25px;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    height: 100%;
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
}

.almanahil-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red) 0%, #ff4d6d 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.almanahil-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
    border-color: rgba(200, 16, 46, 0.2);
}

.almanahil-card:hover::before {
    opacity: 1;
}

.almanahil-card-icon {
    width: 60px;
    height: 60px;
    background: var(--primary-red-light);
    color: var(--primary-red);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.almanahil-card:hover .almanahil-card-icon {
    background: var(--primary-red);
    color: #ffffff;
    transform: scale(1.08);
}

.almanahil-card-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--secondary-dark);
    margin-bottom: 16px;
}

.almanahil-card ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

[dir="rtl"] .almanahil-card ul {
    padding-right: 0;
}

.almanahil-card ul li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

[dir="rtl"] .almanahil-card ul li {
    padding-left: 0;
    padding-right: 24px;
    text-align: right;
}

.almanahil-card ul li::before {
    content: '\f00c';
    font-family: 'FontAwesome';
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--primary-red);
    font-size: 0.85rem;
}

[dir="rtl"] .almanahil-card ul li::before {
    left: auto;
    right: 0;
}

/* Highlight Service Card */
.almanahil-service-showcase {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #edf2f7;
    border-left: 5px solid var(--primary-red);
    padding: 35px;
    color: var(--text-primary);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

[dir="rtl"] .almanahil-service-showcase {
    border-left: 1px solid #edf2f7;
    border-right: 5px solid var(--primary-red);
}

.almanahil-service-showcase h3 {
    color: var(--secondary-dark);
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 18px;
}

.almanahil-service-showcase p {
    color: #4b5563;
    font-size: 1.02rem;
    line-height: 1.8;
}

/* Stat / Feature Badge Boxes */
.almanahil-stat-box {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px 20px;
    text-align: center;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.almanahil-stat-box:hover {
    border-color: var(--primary-red);
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(200, 16, 46, 0.12);
}

.almanahil-stat-box .stat-icon {
    font-size: 2.2rem;
    color: var(--primary-red);
    margin-bottom: 12px;
}

.almanahil-stat-box .stat-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--secondary-dark);
    margin-bottom: 8px;
}

.almanahil-stat-box .stat-desc {
    color: var(--text-secondary);
    font-size: 0.92rem;
    margin-bottom: 0;
}

/* News Section Cards */
.almanahil-news-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border: 1px solid #edf2f7;
    transition: all 0.35s ease;
    margin-bottom: 25px;
}

.almanahil-news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.almanahil-news-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.almanahil-news-card:hover img {
    transform: scale(1.04);
}

/* Branch & Network Directory Tabs */
.almanahil-branch-tabs-wrap {
    overflow-x: auto;
    padding-bottom: 12px;
    margin-bottom: 30px;
}

.almanahil-branch-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    padding: 4px;
    border-bottom: none;
    list-style: none;
    min-width: max-content;
}

.almanahil-branch-tab-item {
    margin: 0;
}

.almanahil-branch-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 30px;
    color: var(--secondary-dark);
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.25s ease;
    cursor: pointer;
    text-decoration: none !important;
}

.almanahil-branch-tab-btn img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e2e8f0;
}

.almanahil-branch-tab-btn:hover {
    border-color: var(--primary-red);
    color: var(--primary-red);
    background: var(--primary-red-light);
}

.almanahil-branch-tab-btn.active {
    background: linear-gradient(135deg, var(--primary-red) 0%, #a50d24 100%) !important;
    color: #ffffff !important;
    border-color: var(--primary-red) !important;
    box-shadow: 0 4px 15px var(--primary-red-glow);
}

.almanahil-branch-tab-btn.active img {
    border-color: #ffffff;
}

/* Branch Detail Card */
.almanahil-branch-info-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 30px;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    height: 100%;
}

.almanahil-branch-badge {
    background: var(--primary-red-light);
    color: var(--primary-red);
    padding: 6px 14px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.85rem;
    display: inline-block;
    margin-bottom: 12px;
}

.almanahil-branch-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--secondary-dark);
    margin-bottom: 18px;
}

.almanahil-branch-contact-box {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 20px;
    border-left: 4px solid var(--primary-red);
}

[dir="rtl"] .almanahil-branch-contact-box {
    border-left: none;
    border-right: 4px solid var(--primary-red);
}

.almanahil-branch-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary-red);
    color: #ffffff !important;
    padding: 8px 18px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    margin-right: 8px;
    margin-top: 8px;
    transition: all 0.25s ease;
}

.almanahil-branch-phone-link:hover {
    background: var(--secondary-dark);
    color: #ffffff !important;
    transform: translateY(-2px);
}

.almanahil-map-wrapper {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #edf2f7;
    height: 100%;
    min-height: 380px;
}

.almanahil-map-wrapper iframe {
    width: 100%;
    height: 100%;
    min-height: 380px;
    border: 0;
}

/* Ticket Status Widget Card */
.almanahil-ticket-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    border: 1px solid #edf2f7;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
    position: relative;
    border-top: 4px solid var(--primary-red);
}

.almanahil-ticket-card .form-control {
    height: 52px;
    font-size: 1.1rem;
    border-radius: 10px !important;
}

/* Forms & Booking Search Boxes */
.tm-form-control,
.form-control,
input[type="text"],
input[type="email"],
input[type="date"],
select.form-control {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 0.95rem;
    color: var(--secondary-dark);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
select.form-control:focus {
    border-color: var(--primary-red) !important;
    box-shadow: 0 0 0 3px var(--primary-red-glow) !important;
    outline: none !important;
}

/* Custom Buttons - Almanahil Red & Black theme */
.tm-btn,
.btn-primary,
.tm-btn-search,
.btn-danger {
    background: linear-gradient(135deg, var(--primary-red) 0%, #a50d24 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px var(--primary-red-glow);
    transition: all 0.3s ease !important;
    cursor: pointer;
    display: inline-block;
}

.tm-btn:hover,
.btn-primary:hover,
.tm-btn-search:hover,
.btn-danger:hover {
    background: linear-gradient(135deg, #121212 0%, #2a2a2a 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    transform: translateY(-2px);
}

.btn-secondary,
.btn-dark {
    background: var(--secondary-dark) !important;
    border: 1px solid var(--dark-border) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 10px 22px !important;
    font-weight: 600;
}

.btn-secondary:hover,
.btn-dark:hover {
    background: var(--primary-red) !important;
    border-color: var(--primary-red) !important;
    color: #ffffff !important;
}

.btn-outline-primary,
.btn-outline-danger {
    border: 2px solid var(--primary-red) !important;
    color: var(--primary-red) !important;
    background: transparent !important;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline-primary:hover,
.btn-outline-danger:hover {
    background: var(--primary-red) !important;
    color: #ffffff !important;
}

/* Feature Cards & Trip Cards */
.tm-article,
.card {
    background: #ffffff;
    border: 1px solid #edf2f7 !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tm-article:hover,
.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(200, 16, 46, 0.2) !important;
}

.tm-article-title,
.card-title {
    color: var(--secondary-dark);
    font-weight: 700;
}

.tm-article-title:hover {
    color: var(--primary-red);
}

/* Badges & Accents */
.badge-primary,
.badge-danger {
    background-color: var(--primary-red) !important;
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 600;
}

.badge-dark {
    background-color: var(--secondary-dark) !important;
    color: #ffffff;
}

/* ==========================================================================
   Fleet & Bus Showcase Section
   ========================================================================== */
.almanahil-fleet-section {
    background-color: #f8fafc;
    position: relative;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
}

.almanahil-fleet-section .almanahil-section-subtitle {
    color: #64748b;
    font-size: 1.05rem;
    max-width: 720px;
    margin: 0 auto 35px;
    line-height: 1.7;
}

/* Fleet Amenities Bar */
.gtc-fleet-amenities-bar {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #edf2f7;
    margin-bottom: 40px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gtc-fleet-amenities-bar:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.gtc-amenity-item {
    padding: 10px;
}

.gtc-amenity-icon {
    width: 52px;
    height: 52px;
    background: #fff1f2;
    color: var(--primary-red);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

.gtc-amenity-item:hover .gtc-amenity-icon {
    background: var(--primary-red);
    color: #ffffff;
    transform: scale(1.1) rotate(5deg);
}

.gtc-amenity-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--secondary-dark);
    margin-bottom: 0;
}

/* Fleet Cards */
.gtc-fleet-cards-row {
    margin-bottom: 20px;
}

.gtc-fleet-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: flex;
    flex-direction: column;
}

.gtc-fleet-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.12);
    border-color: rgba(200, 16, 46, 0.3);
}

.gtc-fleet-card-img-wrap {
    height: 220px;
    background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 25px;
    overflow: hidden;
    border-bottom: 1px solid #f1f5f9;
}

.gtc-fleet-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: linear-gradient(135deg, var(--primary-red) 0%, #991b1b 100%);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(200, 16, 46, 0.3);
    z-index: 2;
    text-transform: uppercase;
}

[dir="rtl"] .gtc-fleet-badge {
    left: auto;
    right: 14px;
}

.gtc-fleet-img {
    max-height: 155px;
    max-width: 92%;
    width: auto;
    object-fit: contain;
    transition: transform 0.45s ease;
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.12));
}

.gtc-fleet-card:hover .gtc-fleet-img {
    transform: scale(1.08) translateY(-4px);
}

.gtc-fleet-img-overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.5rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 3;
}

.gtc-fleet-card-img-wrap:hover .gtc-fleet-img-overlay {
    opacity: 1;
}

.gtc-fleet-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.gtc-fleet-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--secondary-dark);
    margin-bottom: 10px;
}

.gtc-fleet-desc {
    font-size: 0.92rem;
    color: #64748b;
    line-height: 1.65;
    margin-bottom: 20px;
}

.gtc-fleet-tags {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gtc-fleet-tag {
    background: #f1f5f9;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.gtc-fleet-tag i {
    color: var(--primary-red);
    margin-right: 5px;
    margin-left: 2px;
}

[dir="rtl"] .gtc-fleet-tag i {
    margin-right: 2px;
    margin-left: 5px;
}

.gtc-fleet-tag:hover {
    background: #fee2e2;
    border-color: #fca5a5;
    color: var(--primary-red);
}

/* Fleet Gallery */
.gtc-fleet-gallery-wrapper {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px;
    border: 1px solid #edf2f7;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.gtc-fleet-gallery-heading {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--secondary-dark);
}

.gtc-gallery-item {
    height: 170px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid #edf2f7;
    background: #f8fafc;
}

.gtc-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gtc-gallery-img-contain {
    object-fit: contain !important;
    padding: 12px;
}

.gtc-gallery-hover {
    position: absolute;
    inset: 0;
    background: rgba(200, 16, 46, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.4rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gtc-gallery-item:hover .gtc-gallery-hover {
    opacity: 1;
}

.gtc-gallery-item:hover .gtc-gallery-img {
    transform: scale(1.08);
}

/* Fleet Modal */
.gtc-fleet-modal-content {
    border-radius: 16px;
    border: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.gtc-fleet-modal-content .modal-header {
    padding: 20px 24px 0;
}

.gtc-fleet-modal-content .modal-title {
    color: var(--secondary-dark);
    font-size: 1.3rem;
}

/* Alerts */
.alert-info {
    background-color: #fff1f2 !important;
    border-left: 4px solid var(--primary-red) !important;
    color: #881337 !important;
}

.alert-success {
    background-color: #f0fdf4 !important;
    border-left: 4px solid #16a34a !important;
    color: #14532d !important;
}

/* Footer Section - Almanahil Black & Red */
footer.tm-container-outer,
footer {
    background: linear-gradient(180deg, #181818 0%, #0d0d0d 100%) !important;
    color: #cfd4dc !important;
    padding: 50px 30px 25px !important;
    border-top: 4px solid var(--primary-red);
    position: relative;
}

footer h4, footer h5, footer .footer-heading {
    color: #ffffff;
    font-weight: 700;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
}

footer h4::after, footer h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background-color: var(--primary-red);
}

[dir="rtl"] footer h4::after, [dir="rtl"] footer h5::after {
    left: auto;
    right: 0;
}

footer p, footer span, footer a {
    color: #a0aec0 !important;
    font-size: 0.95rem;
    margin-bottom: 8px;
    line-height: 1.8;
}

footer a:hover {
    color: #ffffff !important;
    padding-left: 4px;
}

footer .footer-bottom {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #2d3748;
    text-align: center;
}

footer .footer-bottom p {
    color: #718096 !important;
    font-size: 0.88rem;
}

/* Datepicker & Flatpickr Overrides */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--primary-red) !important;
    border-color: var(--primary-red) !important;
}

.flatpickr-day:hover {
    background: var(--primary-red-light) !important;
    color: var(--primary-red) !important;
}

/* Tables */
.table {
    border-radius: 8px;
    overflow: hidden;
}

.table thead th {
    background-color: var(--secondary-dark);
    color: #ffffff;
    border: none;
    font-weight: 600;
}

.table tbody tr:hover {
    background-color: rgba(200, 16, 46, 0.03);
}

/* RTL Support */
[lang="ar"], [dir="rtl"] {
    direction: rtl;
    text-align: right;
}

[lang="ar"] .navbar-nav.ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}

[lang="ar"] .ml-5, [dir="rtl"] .ml-5 {
    margin-left: 0 !important;
    margin-right: 3rem !important;
}

[lang="ar"] .text-left, [dir="rtl"] .text-left {
    text-align: right !important;
}
