/* Your custom CSS here */

/**
 * Tailwind-Inspired Modern Design for Bootstrap 5
 * Modern, clean design with Tailwind aesthetics using Bootstrap 5 classes
 * Date: November 5, 2025
 */

/* ===================================
   HEADER / NAVBAR MODERN STYLES
   =================================== */

/* Modern Glassmorphism Header */
#mainNavbar {
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    background-color: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

[data-bs-theme="dark"] #mainNavbar {
    background-color: rgba(17, 24, 39, 0.92) !important;
    border-bottom-color: rgba(55, 65, 81, 0.5) !important;
}

/* Container Spacing */
#mainNavbarContainer {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

/* Logo Hover Effect */
.navbar-brand.logo {
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.navbar-brand.logo:hover {
    transform: scale(1.02);
    opacity: 0.9;
}

/* Modern Nav Links */
.navbar-nav .nav-link {
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 0.625rem 1rem !important;
    border-radius: 0.5rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.navbar-nav .nav-link:hover {
    background-color: rgba(59, 130, 246, 0.08);
    color: #3b82f6 !important;
}

[data-bs-theme="dark"] .navbar-nav .nav-link:hover {
    background-color: rgba(59, 130, 246, 0.15);
}

/* Active Nav Link Indicator */
.navbar-nav .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 0.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5rem;
    height: 0.125rem;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6);
    border-radius: 0.125rem;
}

/* Mobile Toggle Button Modern */
.navbar-toggler {
    border: none !important;
    padding: 0.5rem;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
}

.navbar-toggler:hover {
    background-color: rgba(59, 130, 246, 0.1);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

/* Country Flag Modern Style */
.flag-menu .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem !important;
    border-radius: 0.5rem;
    border: 1px solid rgba(229, 231, 235, 0.6);
    transition: all 0.2s ease;
}

.flag-menu .nav-link:hover {
    border-color: rgba(59, 130, 246, 0.4);
    background-color: rgba(59, 130, 246, 0.05);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.flag-icon {
    border-radius: 0.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* ===================================
   CATEGORIES SECTION MODERN STYLES
   =================================== */

/* Modern Card Container */
.card {
    border-radius: 1rem !important;
    border: 1px solid rgba(229, 231, 235, 0.6) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
    background-color: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .card {
    background-color: rgba(31, 41, 55, 0.95) !important;
    border-color: rgba(75, 85, 99, 0.4) !important;
}

.card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-2px);
}

/* Card Header Modern */
.card-header {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 250, 251, 0.95) 100%) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
    padding: 1.5rem 1.75rem !important;
}

[data-bs-theme="dark"] .card-header {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.95) 100%) !important;
    border-bottom-color: rgba(75, 85, 99, 0.4) !important;
}

.card-header h4 {
    font-weight: 300;
    letter-spacing: -0.02em;
    color: #1f2937;
}

[data-bs-theme="dark"] .card-header h4 {
    color: #f9fafb;
}

.card-header h4 .fw-bold {
    font-weight: 700;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.card-header h5 a {
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #6b7280 !important;
    transition: all 0.2s ease;
}

.card-header h5 a:hover {
    color: #3b82f6 !important;
    transform: translateX(4px);
    display: inline-block;
}

/* Card Body Spacing */
.card-body {
    padding: 1.75rem 1.5rem !important;
}

/* ===================================
   CATEGORY ITEMS MODERN STYLES
   =================================== */

/* Big Icon Category List */
.big-icon-category-list .col > div {
    border-radius: 0.75rem !important;
    border: 1px solid rgba(229, 231, 235, 0.5) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 251, 0.98) 100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

[data-bs-theme="dark"] .big-icon-category-list .col > div {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%);
    border-color: rgba(75, 85, 99, 0.3) !important;
}

.big-icon-category-list .col > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.big-icon-category-list .col > div:hover::before {
    opacity: 1;
}

.big-icon-category-list .col > div:hover {
    border-color: rgba(59, 130, 246, 0.3) !important;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.15), 0 10px 10px -5px rgba(59, 130, 246, 0.05);
    transform: translateY(-4px) scale(1.02);
}

.big-icon-category-list a {
    text-decoration: none;
    position: relative;
    z-index: 1;
}

.big-icon-category-list i {
    color: #6b7280;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
}

[data-bs-theme="dark"] .big-icon-category-list i {
    color: #9ca3af;
}

.big-icon-category-list .col > div:hover i {
    color: #3b82f6;
    transform: scale(1.1) rotate(-5deg);
    filter: drop-shadow(0 4px 8px rgba(59, 130, 246, 0.3));
}

[data-bs-theme="dark"] .big-icon-category-list .col > div:hover i {
    color: #60a5fa;
}

.big-icon-category-list h6 {
    font-weight: 600;
    font-size: 0.875rem;
    color: #374151;
    transition: color 0.2s ease;
    letter-spacing: -0.01em;
}

[data-bs-theme="dark"] .big-icon-category-list h6 {
    color: #d1d5db;
}

.big-icon-category-list .col > div:hover h6 {
    color: #3b82f6;
}

[data-bs-theme="dark"] .big-icon-category-list .col > div:hover h6 {
    color: #60a5fa;
}

/* ===================================
   HERO SEARCH FORM MODERN STYLES
   =================================== */

.hero-wrap {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%) !important;
    position: relative;
    overflow: hidden;
}

.hero-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

/* Search Form Card */
.hero-wrap form > div:first-child {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Search Form Inputs */
.hero-wrap input, .hero-wrap select, .hero-wrap button:not(.btn-link) {
    border-radius: 0.75rem !important;
    border: 1px solid rgba(209, 213, 219, 0.6) !important;
    transition: all 0.2s ease;
    font-size: 0.9375rem;
}

.hero-wrap input:focus, .hero-wrap select:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
    outline: none;
}

.hero-wrap button.btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    font-weight: 600;
    letter-spacing: 0.025em;
    padding: 0.75rem 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3), 0 2px 4px -1px rgba(59, 130, 246, 0.2);
    transition: all 0.3s ease;
}

.hero-wrap button.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4), 0 4px 6px -2px rgba(59, 130, 246, 0.3);
}

/* ===================================
   LATEST LISTINGS MODERN STYLES
   =================================== */

/* Grid View Cards */
.grid-view .item-list > div {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 0.875rem !important;
    border-color: rgba(229, 231, 235, 0.6) !important;
    overflow: hidden;
}

.grid-view .item-list > div:hover {
    border-color: rgba(59, 130, 246, 0.3) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-4px);
}

/* Image Hover Effect */
.grid-view .main-image img,
.list-view .main-image img,
.compact-view img {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.grid-view .item-list:hover .main-image img,
.list-view .item-list:hover .main-image img {
    transform: scale(1.05);
}

/* Price Highlight */
.grid-view h5, .list-view h5, .compact-view h5 {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
}

/* Buttons Modern Style */
.btn-xs.small {
    border-radius: 0.5rem !important;
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 0.375rem 0.875rem;
    transition: all 0.2s ease;
}

.btn-outline-secondary.btn-xs.small {
    border-color: rgba(209, 213, 219, 0.8) !important;
}

.btn-outline-secondary.btn-xs.small:hover {
    background-color: #3b82f6 !important;
    border-color: #3b82f6 !important;
    transform: translateY(-1px);
}

/* Reviews Stars Modern */
.reviews-widget {
    padding: 0.5rem 0;
}

.reviews-widget .fa-star {
    transition: all 0.2s ease;
}

.reviews-widget .fa-star:hover {
    transform: scale(1.15);
}

/* ===================================
   UTILITY CLASSES (Tailwind-like)
   =================================== */

.backdrop-blur {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.backdrop-blur-sm {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.transition-all {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-scale:hover {
    transform: scale(1.02);
}

.hover-shadow:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* ===================================
   RESPONSIVE ADJUSTMENTS
   =================================== */

@media (max-width: 768px) {
    #mainNavbarContainer {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .card-header {
        padding: 1.25rem 1rem !important;
    }

    .card-body {
        padding: 1.25rem 1rem !important;
    }

    .big-icon-category-list .col > div {
        margin: 0.25rem !important;
    }
}

/* ===================================
   ANIMATIONS
   =================================== */

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

.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}

/* Stagger animation for category items */
.big-icon-category-list .col:nth-child(1) > div { animation-delay: 0.05s; }
.big-icon-category-list .col:nth-child(2) > div { animation-delay: 0.1s; }
.big-icon-category-list .col:nth-child(3) > div { animation-delay: 0.15s; }
.big-icon-category-list .col:nth-child(4) > div { animation-delay: 0.2s; }
.big-icon-category-list .col:nth-child(5) > div { animation-delay: 0.25s; }
.big-icon-category-list .col:nth-child(6) > div { animation-delay: 0.3s; }
/**
 * Modern Alerts, Modals & Cookie Consent - Tailwind-Inspired Design
 * Sleek, modern design for all popup elements
 * Date: November 5, 2025
 */

/* ===================================
   MODERN COOKIE CONSENT BANNER
   =================================== */

.modern-cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 0;
    background: transparent;
    animation: slideUpFade 0.4s ease-out forwards;
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(100%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cookie-consent-container {
    max-width: 1200px;
    margin: 0 auto 1.5rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 251, 0.98) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(229, 231, 235, 0.8);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

[data-bs-theme="dark"] .cookie-consent-container {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%);
    border-color: rgba(75, 85, 99, 0.6);
}

.cookie-consent-content {
    display: flex;
    align-items: start;
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

.cookie-consent-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 0.75rem;
    color: white;
    font-size: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
}

.cookie-consent-text {
    flex: 1;
    min-width: 0;
}

.cookie-consent-title {
    font-weight: 700;
    font-size: 1rem;
    margin: 0 0 0.375rem 0;
    color: #1f2937;
    letter-spacing: -0.01em;
}

[data-bs-theme="dark"] .cookie-consent-title {
    color: #f9fafb;
}

.cookie-consent__message {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #6b7280;
    display: block;
}

[data-bs-theme="dark"] .cookie-consent__message {
    color: #9ca3af;
}

.cookie-consent__message a {
    color: #3b82f6;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

.cookie-consent__message a:hover {
    color: #2563eb;
}

.cookie-consent-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

/* Modern Cookie Consent Buttons */
.cookie-consent-btn.btn-modern {
    padding: 0.625rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
    border: none;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
}

.cookie-consent-btn.btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    color: white;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3), 0 2px 4px -1px rgba(59, 130, 246, 0.2);
}

.cookie-consent-btn.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4), 0 4px 6px -2px rgba(59, 130, 246, 0.3);
}

.cookie-consent-btn.btn-outline {
    background: transparent;
    color: #6b7280;
    border: 1.5px solid rgba(209, 213, 219, 0.8);
}

[data-bs-theme="dark"] .cookie-consent-btn.btn-outline {
    color: #d1d5db;
    border-color: rgba(75, 85, 99, 0.8);
}

.cookie-consent-btn.btn-outline:hover {
    background: rgba(59, 130, 246, 0.05);
    border-color: rgba(59, 130, 246, 0.4);
    color: #3b82f6;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .cookie-consent-container {
        flex-direction: column;
        align-items: stretch;
        margin: 0 1rem 1rem;
        padding: 1rem;
    }

    .cookie-consent-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .cookie-consent-icon {
        margin: 0 auto;
    }

    .cookie-consent-actions {
        width: 100%;
        flex-direction: column;
    }

    .cookie-consent-btn.btn-modern {
        width: 100%;
        padding: 0.75rem 1rem;
    }
}

/* ===================================
   MODERN MODALS
   =================================== */

.modern-modal .modal-content {
    border-radius: 1rem !important;
    border: 1px solid rgba(229, 231, 235, 0.6);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 251, 0.98) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    overflow: hidden;
}

[data-bs-theme="dark"] .modern-modal .modal-content {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%);
    border-color: rgba(75, 85, 99, 0.4);
}

/* Modal Header */
.modern-modal .modal-header {
    background: linear-gradient(135deg, rgba(249, 250, 251, 0.5) 0%, rgba(243, 244, 246, 0.5) 100%);
    border-bottom: 1px solid rgba(229, 231, 235, 0.6);
    padding: 1.25rem 1.5rem;
}

[data-bs-theme="dark"] .modern-modal .modal-header {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.5) 0%, rgba(17, 24, 39, 0.5) 100%);
    border-bottom-color: rgba(75, 85, 99, 0.4);
}

.modern-modal .modal-title {
    font-weight: 700;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.modern-modal .btn-close {
    border-radius: 0.5rem;
    transition: all 0.2s ease;
    padding: 0.5rem;
}

.modern-modal .btn-close:hover {
    background-color: rgba(239, 68, 68, 0.1);
    transform: rotate(90deg);
}

/* Modal Body */
.modern-modal .modal-body {
    padding: 1.5rem;
}

/* Modal Footer */
.modern-modal .modal-footer {
    background: linear-gradient(135deg, rgba(249, 250, 251, 0.5) 0%, rgba(243, 244, 246, 0.5) 100%);
    border-top: 1px solid rgba(229, 231, 235, 0.6);
    padding: 1rem 1.5rem;
}

[data-bs-theme="dark"] .modern-modal .modal-footer {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.5) 0%, rgba(17, 24, 39, 0.5) 100%);
    border-top-color: rgba(75, 85, 99, 0.4);
}

/* Modern Modal Buttons */
.modern-modal .btn {
    border-radius: 0.5rem;
    font-weight: 600;
    padding: 0.625rem 1.25rem;
    transition: all 0.2s ease;
}

.modern-modal .btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border: none;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
}

.modern-modal .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4);
}

.modern-modal .btn-secondary {
    background: transparent;
    border: 1.5px solid rgba(209, 213, 219, 0.8);
    color: #6b7280;
}

[data-bs-theme="dark"] .modern-modal .btn-secondary {
    color: #d1d5db;
    border-color: rgba(75, 85, 99, 0.8);
}

.modern-modal .btn-secondary:hover {
    background: rgba(107, 114, 128, 0.1);
    border-color: #6b7280;
}

/* Phone Number Display in Security Tips */
#phoneModal {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%) !important;
    border: 2px dashed rgba(59, 130, 246, 0.3) !important;
    border-radius: 0.875rem !important;
    padding: 2rem !important;
    color: #3b82f6 !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
}

#phoneModal:hover {
    border-color: rgba(59, 130, 246, 0.5) !important;
    transform: scale(1.02);
}

/* Security Tips Warning Section */
.modern-modal h3.text-danger {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(220, 38, 38, 0.05) 100%);
    border-left: 4px solid #ef4444;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

.modern-modal h3.text-danger i {
    font-size: 1.5rem;
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* ===================================
   MODERN BOOTSTRAP ALERTS
   =================================== */

.alert {
    border-radius: 0.75rem !important;
    border: 1px solid;
    padding: 1rem 1.25rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 0.9375rem;
    line-height: 1.6;
}

/* Alert Success */
.alert-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.1) 100%);
    border-color: rgba(16, 185, 129, 0.3);
    color: #047857;
}

[data-bs-theme="dark"] .alert-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);
    color: #34d399;
}

.alert-success::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.75rem;
    color: #10b981;
    font-size: 1.25rem;
}

/* Alert Info */
.alert-info {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(37, 99, 235, 0.1) 100%);
    border-color: rgba(59, 130, 246, 0.3);
    color: #1e40af;
}

[data-bs-theme="dark"] .alert-info {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(37, 99, 235, 0.15) 100%);
    color: #60a5fa;
}

.alert-info::before {
    content: '\f05a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.75rem;
    color: #3b82f6;
    font-size: 1.25rem;
}

/* Alert Warning */
.alert-warning {
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.1) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(251, 191, 36, 0.3);
    color: #92400e;
}

[data-bs-theme="dark"] .alert-warning {
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.15) 0%, rgba(245, 158, 11, 0.15) 100%);
    color: #fbbf24;
}

.alert-warning::before {
    content: '\f071';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.75rem;
    color: #f59e0b;
    font-size: 1.25rem;
}

/* Alert Danger */
.alert-danger {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.1) 100%);
    border-color: rgba(239, 68, 68, 0.3);
    color: #991b1b;
}

[data-bs-theme="dark"] .alert-danger {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);
    color: #fca5a5;
}

.alert-danger::before {
    content: '\f06a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.75rem;
    color: #ef4444;
    font-size: 1.25rem;
}

/* Alert Close Button */
.alert .btn-close {
    border-radius: 0.375rem;
    transition: all 0.2s ease;
}

.alert .btn-close:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.1);
}

/* ===================================
   TOAST NOTIFICATIONS (if using)
   =================================== */

.toast {
    border-radius: 0.75rem !important;
    border: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.toast-header {
    background: linear-gradient(135deg, rgba(249, 250, 251, 0.95) 0%, rgba(243, 244, 246, 0.95) 100%);
    border-bottom: 1px solid rgba(229, 231, 235, 0.6);
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

[data-bs-theme="dark"] .toast-header {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.95) 100%);
    border-bottom-color: rgba(75, 85, 99, 0.4);
}

.toast-body {
    padding: 1rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 250, 251, 0.95) 100%);
    border-radius: 0 0 0.75rem 0.75rem;
}

[data-bs-theme="dark"] .toast-body {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.95) 100%);
}

/* ===================================
   CONFIRMATION DIALOGS
   =================================== */

.confirm-simple-action {
    position: relative;
    overflow: hidden;
}

.confirm-simple-action::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s;
}

.confirm-simple-action:hover::before {
    width: 300px;
    height: 300px;
}

/* ===================================
   ANIMATIONS
   =================================== */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-5px);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(5px);
    }
}

.modal.fade .modal-dialog {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out;
}

.modal.show .modal-dialog {
    transform: scale(1);
}

/* ===================================
   RESPONSIVE DESIGN
   =================================== */

@media (max-width: 576px) {
    .modern-modal .modal-dialog {
        margin: 0.5rem;
    }

    .modern-modal .modal-header,
    .modern-modal .modal-body,
    .modern-modal .modal-footer {
        padding: 1rem;
    }

    #phoneModal {
        padding: 1.5rem !important;
        font-size: 1.5rem !important;
    }

    .alert {
        padding: 0.875rem 1rem;
        font-size: 0.875rem;
    }
}

/* ===================================
   ACCESSIBILITY IMPROVEMENTS
   =================================== */

.cookie-consent-btn:focus,
.modern-modal .btn:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

.alert:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Reduced motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .modern-cookie-consent,
    .modern-modal .modal-dialog,
    .cookie-consent-btn,
    .modern-modal .btn,
    #phoneModal {
        animation: none;
        transition: none;
    }
}

/* =======================================================
 * MODERN REVIEWS PLUGIN THEME
 * =======================================================
 * Tailwind-inspired design with proper light/dark mode support
 * Date: November 5, 2025
 */

/* Reviews Widget Container */
.reviews-widget {
    padding: 1.5rem 0;
}

/* Star Rating Styles */
.reviews-widget .stars {
    margin: 10px 0;
    font-size: 24px;
}

.reviews-widget .stars .star {
    cursor: pointer;
    transition: all 0.2s ease;
}

.reviews-widget .stars .star:hover {
    transform: scale(1.1);
}

.reviews-widget .stars .star i.fas.fa-star {
    color: #fbbf24 !important; /* Tailwind yellow-400 */
}

.reviews-widget .stars .star i.far.fa-star {
    color: #d1d5db !important; /* Tailwind gray-300 */
}

[data-bs-theme="dark"] .reviews-widget .stars .star i.far.fa-star {
    color: #6b7280 !important; /* Tailwind gray-500 for dark mode */
}

/* Review Form Card */
.reviews-widget .card.border-success {
    border-color: rgba(16, 185, 129, 0.3) !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
    background-color: rgba(255, 255, 255, 0.98) !important;
}

[data-bs-theme="dark"] .reviews-widget .card.border-success {
    background-color: rgba(31, 41, 55, 0.98) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
}

.reviews-widget .card-header.bg-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border-radius: 1rem 1rem 0 0 !important;
    padding: 1.25rem 1.5rem !important;
}

/* Review Form Inputs */
.reviews-widget .form-control {
    border-radius: 0.75rem !important;
    border: 1px solid rgba(209, 213, 219, 0.6) !important;
    transition: all 0.2s ease;
    background-color: #ffffff !important;
    color: #1f2937 !important;
}

[data-bs-theme="dark"] .reviews-widget .form-control {
    background-color: rgba(55, 65, 81, 0.5) !important;
    border-color: rgba(75, 85, 99, 0.6) !important;
    color: #f9fafb !important;
}

.reviews-widget .form-control:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
    outline: none;
}

.reviews-widget .form-label {
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
}

[data-bs-theme="dark"] .reviews-widget .form-label {
    color: #d1d5db;
}

/* Review Cards */
.reviews-widget .card {
    border-radius: 0.875rem !important;
    border: 1px solid rgba(229, 231, 235, 0.6) !important;
    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.05) !important;
    background-color: rgba(255, 255, 255, 0.98) !important;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .reviews-widget .card {
    background-color: rgba(31, 41, 55, 0.98) !important;
    border-color: rgba(75, 85, 99, 0.4) !important;
}

.reviews-widget .card:hover {
    box-shadow: 0 4px 8px -1px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-2px);
}

.reviews-widget .card-body {
    padding: 1.5rem !important;
}

/* Star Rating Display in Reviews */
.reviews-widget .fa-star {
    font-size: 18px;
    margin-right: 2px;
    transition: all 0.2s ease;
}

.reviews-widget .fas.fa-star {
    color: #fbbf24 !important; /* Tailwind yellow-400 */
}

.reviews-widget .far.fa-star {
    color: #d1d5db !important;
}

[data-bs-theme="dark"] .reviews-widget .far.fa-star {
    color: #6b7280 !important;
}

.reviews-widget .text-warning {
    color: #fbbf24 !important;
}

.reviews-widget .text-muted {
    color: #6b7280 !important;
}

[data-bs-theme="dark"] .reviews-widget .text-muted {
    color: #9ca3af !important;
}

/* Review Photos */
.reviews-widget .review-photos img {
    border-radius: 0.5rem;
    transition: transform 0.2s ease;
    border: 1px solid rgba(229, 231, 235, 0.5);
}

[data-bs-theme="dark"] .reviews-widget .review-photos img {
    border-color: rgba(75, 85, 99, 0.5);
}

.reviews-widget .review-photos img:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Reaction Buttons */
.reviews-widget .review-reactions .btn {
    min-width: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 0.5rem !important;
    transition: all 0.2s ease;
    font-size: 0.875rem;
    padding: 0.5rem 0.75rem;
}

.reviews-widget .review-reactions .btn-outline-danger {
    border-color: rgba(239, 68, 68, 0.5) !important;
    color: #ef4444 !important;
}

[data-bs-theme="dark"] .reviews-widget .review-reactions .btn-outline-danger {
    border-color: rgba(239, 68, 68, 0.6) !important;
    color: #fca5a5 !important;
}

.reviews-widget .review-reactions .btn-outline-primary {
    border-color: rgba(59, 130, 246, 0.5) !important;
    color: #3b82f6 !important;
}

[data-bs-theme="dark"] .reviews-widget .review-reactions .btn-outline-primary {
    border-color: rgba(59, 130, 246, 0.6) !important;
    color: #60a5fa !important;
}

.reviews-widget .review-reactions .btn-outline-warning {
    border-color: rgba(251, 191, 36, 0.5) !important;
    color: #f59e0b !important;
}

[data-bs-theme="dark"] .reviews-widget .review-reactions .btn-outline-warning {
    border-color: rgba(251, 191, 36, 0.6) !important;
    color: #fbbf24 !important;
}

.reviews-widget .review-reactions .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.reviews-widget .review-reactions .btn.active {
    color: #fff !important;
    border-color: transparent !important;
}

.reviews-widget .review-reactions .btn[data-reaction="love"].active {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
}

.reviews-widget .review-reactions .btn[data-reaction="like"].active {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
}

.reviews-widget .review-reactions .btn[data-reaction="fire"].active {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: #1f2937 !important;
}

.reviews-widget .review-reactions .reaction-count {
    font-weight: 600;
}

.reviews-widget .review-reactions .reaction-emoji {
    font-size: 1rem;
    line-height: 1;
}

.reviews-widget .reaction-summary {
    font-size: 0.85rem;
    color: #6b7280;
}

[data-bs-theme="dark"] .reviews-widget .reaction-summary {
    color: #9ca3af;
}

/* Badges */
.reviews-widget .badge.bg-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    padding: 0.35rem 0.65rem;
    border-radius: 0.375rem;
    font-weight: 600;
}

.reviews-widget .badge.bg-secondary {
    background-color: #6b7280 !important;
    padding: 0.35rem 0.65rem;
    border-radius: 0.375rem;
}

[data-bs-theme="dark"] .reviews-widget .badge.bg-secondary {
    background-color: #4b5563 !important;
}

/* Card Title & Text */
.reviews-widget .card-title {
    color: #1f2937;
    font-weight: 600;
}

[data-bs-theme="dark"] .reviews-widget .card-title {
    color: #f9fafb;
}

.reviews-widget .card-text {
    color: #374151;
    line-height: 1.6;
}

[data-bs-theme="dark"] .reviews-widget .card-text {
    color: #d1d5db;
}

/* Info Card (Login Required) */
.reviews-widget .card.border-info {
    border-color: rgba(59, 130, 246, 0.3) !important;
    border-radius: 1rem !important;
}

[data-bs-theme="dark"] .reviews-widget .card.border-info {
    border-color: rgba(59, 130, 246, 0.4) !important;
}

/* Submit Button */
.reviews-widget .btn-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border: none !important;
    border-radius: 0.5rem !important;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.3);
    transition: all 0.3s ease;
}

.reviews-widget .btn-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 12px -1px rgba(16, 185, 129, 0.4);
}

/* Dropdown Menu */
.reviews-widget .dropdown-menu {
    border-radius: 0.5rem;
    border: 1px solid rgba(229, 231, 235, 0.6);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .reviews-widget .dropdown-menu {
    background-color: #1f2937;
    border-color: rgba(75, 85, 99, 0.6);
}

.reviews-widget .dropdown-item {
    border-radius: 0.375rem;
    margin: 0.25rem;
    transition: all 0.2s ease;
}

.reviews-widget .dropdown-item.text-danger:hover {
    background-color: rgba(239, 68, 68, 0.1) !important;
}

/* Pagination */
.reviews-widget .pagination .page-link {
    border-radius: 0.5rem !important;
    margin: 0 0.25rem;
    border: 1px solid rgba(229, 231, 235, 0.6);
    color: #3b82f6;
    transition: all 0.2s ease;
}

[data-bs-theme="dark"] .reviews-widget .pagination .page-link {
    background-color: rgba(31, 41, 55, 0.8);
    border-color: rgba(75, 85, 99, 0.6);
    color: #60a5fa;
}

.reviews-widget .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    border-color: transparent;
    color: white;
}

.reviews-widget .pagination .page-link:hover {
    background-color: rgba(59, 130, 246, 0.1);
    transform: translateY(-1px);
}

[data-bs-theme="dark"] .reviews-widget .pagination .page-link:hover {
    background-color: rgba(59, 130, 246, 0.2);
}

/* No Reviews Message */
.reviews-widget .bi-chat-square-text {
    color: #9ca3af;
}

/* Alert Messages in Reviews */
.reviews-widget .alert-danger {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.1) 100%);
    border-color: rgba(239, 68, 68, 0.3);
    border-radius: 0.75rem;
    color: #991b1b;
}

[data-bs-theme="dark"] .reviews-widget .alert-danger {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);
    color: #fca5a5;
}

.reviews-widget .alert-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.1) 100%);
    border-color: rgba(16, 185, 129, 0.3);
    border-radius: 0.75rem;
    color: #047857;
}

[data-bs-theme="dark"] .reviews-widget .alert-success {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);
    color: #34d399;
}

.reviews-widget .alert-info {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(37, 99, 235, 0.1) 100%);
    border-color: rgba(59, 130, 246, 0.3);
    border-radius: 0.75rem;
    color: #1e40af;
}

[data-bs-theme="dark"] .reviews-widget .alert-info {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(37, 99, 235, 0.15) 100%);
    color: #60a5fa;
}

/* Form Text */
.reviews-widget .form-text {
    color: #6b7280;
    font-size: 0.875rem;
}

[data-bs-theme="dark"] .reviews-widget .form-text {
    color: #9ca3af;
}

/* Responsive Adjustments for Reviews */
@media (max-width: 768px) {
    .reviews-widget .card-body {
        padding: 1rem !important;
    }

    .reviews-widget .review-reactions .btn-group {
        flex-direction: column;
        width: 100%;
    }

    .reviews-widget .review-reactions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }
}

/* =======================================================
 * MODERN MULTI-STEP POST CREATION FORM - PHASE 1
 * =======================================================
 * Tailwind-inspired modern design for post/ad creation wizard
 * Date: November 5, 2025
 */

/* ===================================
   MODERN STEP WIZARD / PROGRESS INDICATOR
   =================================== */

/* Wizard Container */
.post-wizard-container {
    margin-bottom: 2.5rem;
    position: relative;
}

/* Modern Step Navigation */
.post-wizard-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 2rem 0;
    margin: 0 auto;
    max-width: 800px;
}

/* Progress Line Background */
.post-wizard-nav::before {
    content: '';
    position: absolute;
    top: 2.75rem;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(209, 213, 219, 0.4) 0%, rgba(209, 213, 219, 0.2) 100%);
    z-index: 0;
}

[data-bs-theme="dark"] .post-wizard-nav::before {
    background: linear-gradient(90deg, rgba(75, 85, 99, 0.4) 0%, rgba(75, 85, 99, 0.2) 100%);
}

/* Individual Step Item */
.wizard-step-item {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Step Circle/Badge */
.wizard-step-badge {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Step Badge - Pending/Disabled State */
.wizard-step-item.disabled .wizard-step-badge,
.wizard-step-item.pending .wizard-step-badge {
    background: linear-gradient(135deg, rgba(229, 231, 235, 0.8) 0%, rgba(243, 244, 246, 0.8) 100%);
    border: 2px solid rgba(209, 213, 219, 0.5);
    color: #9ca3af;
}

[data-bs-theme="dark"] .wizard-step-item.disabled .wizard-step-badge,
[data-bs-theme="dark"] .wizard-step-item.pending .wizard-step-badge {
    background: linear-gradient(135deg, rgba(55, 65, 81, 0.8) 0%, rgba(75, 85, 99, 0.8) 100%);
    border-color: rgba(107, 114, 128, 0.5);
    color: #6b7280;
}

/* Step Badge - Active State */
.wizard-step-item.active .wizard-step-badge {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border: 3px solid rgba(59, 130, 246, 0.3);
    color: white;
    box-shadow: 0 8px 16px -4px rgba(59, 130, 246, 0.4), 0 0 0 4px rgba(59, 130, 246, 0.1);
    transform: scale(1.1);
    animation: wizardPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Step Badge - Completed State */
.wizard-step-item.completed .wizard-step-badge {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    border: 2px solid rgba(16, 185, 129, 0.3);
    color: white;
    box-shadow: 0 4px 8px -2px rgba(16, 185, 129, 0.3);
}

/* Checkmark for Completed Steps */
.wizard-step-item.completed .wizard-step-badge::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    font-size: 1.5rem;
}

/* Hide number when completed */
.wizard-step-item.completed .wizard-step-badge .step-number {
    opacity: 0;
}

/* Step Label */
.wizard-step-label {
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    max-width: 120px;
    transition: all 0.2s ease;
    color: #6b7280;
}

[data-bs-theme="dark"] .wizard-step-label {
    color: #9ca3af;
}

.wizard-step-item.active .wizard-step-label {
    color: #3b82f6;
    font-weight: 700;
}

[data-bs-theme="dark"] .wizard-step-item.active .wizard-step-label {
    color: #60a5fa;
}

.wizard-step-item.completed .wizard-step-label {
    color: #10b981;
}

[data-bs-theme="dark"] .wizard-step-item.completed .wizard-step-label {
    color: #34d399;
}

/* Step Description (Optional) */
.wizard-step-description {
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 0.25rem;
    text-align: center;
}

/* Pulse Animation for Active Step */
@keyframes wizardPulse {
    0%, 100% {
        box-shadow: 0 8px 16px -4px rgba(59, 130, 246, 0.4), 0 0 0 4px rgba(59, 130, 246, 0.1);
    }
    50% {
        box-shadow: 0 8px 16px -4px rgba(59, 130, 246, 0.6), 0 0 0 8px rgba(59, 130, 246, 0.15);
    }
}

/* ===================================
   MODERN FORM CONTAINER & CARDS
   =================================== */

/* Main Post Creation Container */
.post-creation-container {
    padding: 2rem 0;
}

/* Form Step Card */
.post-form-card {
    border-radius: 1.25rem !important;
    border: 1px solid rgba(229, 231, 235, 0.6) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.03) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 251, 0.98) 100%) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
    transition: all 0.3s ease;
    animation: fadeInUp 0.6s ease-out;
}

[data-bs-theme="dark"] .post-form-card {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%) !important;
    border-color: rgba(75, 85, 99, 0.4) !important;
}

/* Form Card Header */
.post-form-card .card-header {
    background: linear-gradient(135deg, rgba(249, 250, 251, 0.95) 0%, rgba(243, 244, 246, 0.95) 100%) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
    padding: 1.75rem 2rem !important;
    border-radius: 1.25rem 1.25rem 0 0 !important;
}

[data-bs-theme="dark"] .post-form-card .card-header {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.95) 100%) !important;
    border-bottom-color: rgba(75, 85, 99, 0.4) !important;
}

/* Form Card Title */
.post-form-card .card-header h3,
.post-form-card .card-header h4 {
    font-weight: 700;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
}

.post-form-card .card-header p {
    color: #6b7280;
    font-size: 0.9375rem;
    margin-bottom: 0;
}

[data-bs-theme="dark"] .post-form-card .card-header p {
    color: #9ca3af;
}

/* Form Card Body */
.post-form-card .card-body {
    padding: 0rem !important;
}

/* Form Card Footer */
.post-form-card .card-footer {
    background: linear-gradient(135deg, rgba(249, 250, 251, 0.5) 0%, rgba(243, 244, 246, 0.5) 100%) !important;
    border-top: 1px solid rgba(229, 231, 235, 0.5) !important;
    padding: 1.5rem 2rem !important;
    border-radius: 0 0 1.25rem 1.25rem !important;
}

[data-bs-theme="dark"] .post-form-card .card-footer {
    background: linear-gradient(135deg, rgba(31, 41, 55, 0.5) 0%, rgba(17, 24, 39, 0.5) 100%) !important;
    border-top-color: rgba(75, 85, 99, 0.4) !important;
}

/* ===================================
   MODERN BUTTONS FOR POST CREATION
   =================================== */

/* Primary Action Buttons (Next, Submit) */
.post-form-card .btn-primary,
.btn-post-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.025em;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3), 0 2px 4px -1px rgba(59, 130, 246, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.post-form-card .btn-primary:hover,
.btn-post-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4), 0 4px 6px -2px rgba(59, 130, 246, 0.3);
}

.post-form-card .btn-primary:active,
.btn-post-primary:active {
    transform: translateY(0);
}

/* Secondary Buttons (Gray gradient) */
.post-form-card .btn-secondary,
.btn-post-secondary {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
    font-size: 1rem;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(107, 114, 128, 0.3);
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] .post-form-card .btn-secondary,
[data-bs-theme="dark"] .btn-post-secondary {
    color: #f3f4f6 !important;
}

.post-form-card .btn-secondary:hover,
.btn-post-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(107, 114, 128, 0.4);
}

/* Warning Button (Yellow gradient) */
.post-form-card .btn-warning {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(251, 191, 36, 0.3);
    transition: all 0.3s ease;
}
.post-form-card .btn-warning:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(251, 191, 36, 0.45);
}

/* Info Button (Cyan gradient) */
.post-form-card .btn-info {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(6, 182, 212, 0.3);
    transition: all 0.3s ease;
}
.post-form-card .btn-info:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(6, 182, 212, 0.4);
}

/* Outline Danger (Admin only) */
.post-form-card .btn-outline-danger {
    border-width: 2px !important;
    border-color: #ef4444 !important;
    color: #ef4444 !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
}
.post-form-card .btn-outline-danger:hover {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    color: #ffffff !important;
}

/* Success Button (Used in finish step) */
.post-form-card .btn-success,
.btn-post-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.875rem 2rem !important;
    font-weight: 600;
    font-size: 1rem;
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.3);
    transition: all 0.3s ease;
}

.post-form-card .btn-success:hover,
.btn-post-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.4);
}

/* Button with Icon */
.post-form-card .btn i,
.btn-post-primary i,
.btn-post-secondary i {
    margin-right: 0.5rem;
    transition: transform 0.2s ease;
}

.post-form-card .btn:hover i {
    transform: translateX(2px);
}

/* Large Action Buttons */
.btn-lg.post-form-card .btn,
.btn-lg.btn-post-primary {
    padding: 1rem 2.5rem !important;
    font-size: 1.125rem;
}

/* Button Group Spacing */
.post-form-card .card-footer .btn + .btn {
    margin-left: 1rem;
}

/* ===================================
   FORM SECTIONS & SPACING
   =================================== */

/* Form Section */
.post-form-section {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(229, 231, 235, 0.5);
}

.post-form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

[data-bs-theme="dark"] .post-form-section {
    border-bottom-color: rgba(75, 85, 99, 0.4);
}

/* Section Title */
.post-form-section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

[data-bs-theme="dark"] .post-form-section-title {
    color: #f9fafb;
}

.post-form-section-title i {
    color: #3b82f6;
    font-size: 1.25rem;
}

/* Section Description */
.post-form-section-description {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 1.5rem;
}

[data-bs-theme="dark"] .post-form-section-description {
    color: #9ca3af;
}

/* ===================================
   RESPONSIVE DESIGN - PHASE 1
   =================================== */

@media (max-width: 768px) {
    /* Wizard Steps - Stack on Mobile */
    .post-wizard-nav {
        flex-direction: column;
        gap: 1.5rem;
        padding: 1rem 0;
    }

    .post-wizard-nav::before {
        display: none;
    }

    .wizard-step-item {
        flex-direction: row;
        justify-content: flex-start;
        width: 100%;
        padding: 1rem;
        background: rgba(249, 250, 251, 0.5);
        border-radius: 0.75rem;
        border: 1px solid rgba(229, 231, 235, 0.6);
    }

    [data-bs-theme="dark"] .wizard-step-item {
        background: rgba(31, 41, 55, 0.5);
        border-color: rgba(75, 85, 99, 0.4);
    }

    .wizard-step-badge {
        margin-bottom: 0;
        margin-right: 1rem;
        width: 48px;
        height: 48px;
        font-size: 1.125rem;
    }

    .wizard-step-label {
        text-align: left;
        max-width: none;
    }

    /* Form Cards */
    .post-form-card .card-header,
    .post-form-card .card-body,
    .post-form-card .card-footer {
        padding: 1.5rem !important;
    }

    /* Buttons */
    .post-form-card .card-footer {
        flex-direction: column;
    }

    .post-form-card .card-footer .btn {
        width: 100%;
        margin-left: 0 !important;
        margin-bottom: 0.75rem;
    }

    .post-form-card .card-footer .btn:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 576px) {
    .post-form-card {
        border-radius: 0.75rem !important;
    }

    .post-creation-container {
        padding: 1rem 0;
    }
}

/* ============================================
   PHASE 2: MODERN FORM FIELDS & INPUTS
   ============================================ */

/* Modern Input Fields Base Styles */
.post-form-card .form-control,
.post-form-card .form-select,
.post-wizard-container ~ .container .form-control,
.post-wizard-container ~ .container .form-select {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    padding: 0.875rem 1rem !important;
    font-size: 1rem;
    font-weight: 400;
    color: #1f2937;
    background-color: rgba(255, 255, 255, 0.9) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
    line-height: 1.5;
}

.post-form-card .form-control:focus,
.post-form-card .form-select:focus,
.post-wizard-container ~ .container .form-control:focus,
.post-wizard-container ~ .container .form-select:focus {
    border-color: #3b82f6 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 4px 6px -1px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
    transform: translateY(-1px);
}

.post-form-card .form-control::placeholder,
.post-wizard-container ~ .container .form-control::placeholder {
    color: #9ca3af;
    font-weight: 400;
    opacity: 1;
}

/* Textarea Specific Styles */
.post-form-card textarea.form-control,
.post-wizard-container ~ .container textarea.form-control {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

/* Input with Icon Support */
.input-with-icon {
    position: relative;
}

.input-with-icon .form-control {
    padding-left: 3rem !important;
}

.input-with-icon .input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 1.125rem;
    pointer-events: none;
    transition: color 0.3s ease;
    z-index: 5;
}

.input-with-icon .form-control:focus ~ .input-icon,
.input-with-icon:focus-within .input-icon {
    color: #3b82f6;
}

/* Modern Form Labels */
.post-form-card .form-label,
.post-wizard-container ~ .container .form-label {
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    color: #374151 !important;
    margin-bottom: 0.5rem !important;
    letter-spacing: 0.01em;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.post-form-card .form-label .required,
.post-wizard-container ~ .container .form-label .required {
    color: #ef4444;
    font-size: 1rem;
    line-height: 1;
}

/* Floating Labels (Optional Enhancement) */
.floating-label-group {
    position: relative;
    margin-bottom: 1.5rem;
}

.floating-label-group .form-control {
    padding: 1.25rem 1rem 0.5rem 1rem !important;
}

.floating-label-group .floating-label {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 1rem;
    font-weight: 400;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: transparent;
    padding: 0 0.25rem;
    z-index: 1;
}

.floating-label-group .form-control:focus ~ .floating-label,
.floating-label-group .form-control:not(:placeholder-shown) ~ .floating-label {
    top: 0.625rem;
    font-size: 0.75rem;
    color: #3b82f6;
    font-weight: 600;
    background: linear-gradient(to bottom, transparent 50%, white 50%);
}

/* Form Validation States */
.post-form-card .is-invalid,
.post-wizard-container ~ .container .is-invalid {
    border-color: #ef4444 !important;
    background-image: none !important;
}

.post-form-card .is-invalid:focus,
.post-wizard-container ~ .container .is-invalid:focus {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1), 0 4px 6px -1px rgba(239, 68, 68, 0.1) !important;
}

.post-form-card .is-valid,
.post-wizard-container ~ .container .is-valid {
    border-color: #10b981 !important;
    background-image: none !important;
}

.post-form-card .is-valid:focus,
.post-wizard-container ~ .container .is-valid:focus {
    border-color: #059669 !important;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1), 0 4px 6px -1px rgba(16, 185, 129, 0.1) !important;
}

.post-form-card .invalid-feedback,
.post-wizard-container ~ .container .invalid-feedback {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    color: #dc2626 !important;
    font-size: 0.875rem !important;
    font-weight: 500;
    margin-top: 0.5rem !important;
    padding-left: 0.25rem;
}

.post-form-card .invalid-feedback::before,
.post-wizard-container ~ .container .invalid-feedback::before {
    content: '\f06a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 0.875rem;
}

.post-form-card .valid-feedback,
.post-wizard-container ~ .container .valid-feedback {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    color: #059669 !important;
    font-size: 0.875rem !important;
    font-weight: 500;
    margin-top: 0.5rem !important;
    padding-left: 0.25rem;
}

.post-form-card .valid-feedback::before,
.post-wizard-container ~ .container .valid-feedback::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 0.875rem;
}

/* Input Groups (for prefix/suffix) */
.post-form-card .input-group,
.post-wizard-container ~ .container .input-group {
    border-radius: 0.75rem;
    overflow: hidden;
}

.post-form-card .input-group .input-group-text,
.post-wizard-container ~ .container .input-group .input-group-text {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%) !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    border-right: none !important;
    color: #6b7280 !important;
    font-weight: 600;
    padding: 0.875rem 1rem !important;
    transition: all 0.3s ease;
}

.post-form-card .input-group:focus-within .input-group-text,
.post-wizard-container ~ .container .input-group:focus-within .input-group-text {
    border-color: #3b82f6 !important;
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%) !important;
    color: #3b82f6 !important;
}

.post-form-card .input-group .form-control,
.post-wizard-container ~ .container .input-group .form-control {
    border-left: none !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* Disabled State */
.post-form-card .form-control:disabled,
.post-form-card .form-select:disabled,
.post-wizard-container ~ .container .form-control:disabled,
.post-wizard-container ~ .container .form-select:disabled {
    background-color: #f3f4f6 !important;
    color: #9ca3af !important;
    border-color: #e5e7eb !important;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Read-only State */
.post-form-card .form-control:read-only,
.post-wizard-container ~ .container .form-control:read-only {
    background-color: #f9fafb !important;
    border-style: dashed !important;
}

/* Dark Mode Support */
[data-bs-theme="dark"] .post-form-card .form-control,
[data-bs-theme="dark"] .post-form-card .form-select,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-control,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-select {
    background-color: rgba(31, 41, 55, 0.9) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
    color: #f9fafb;
}

[data-bs-theme="dark"] .post-form-card .form-control:focus,
[data-bs-theme="dark"] .post-form-card .form-select:focus,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-control:focus,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-select:focus {
    background-color: rgba(17, 24, 39, 1) !important;
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.15), 0 4px 6px -1px rgba(96, 165, 250, 0.15) !important;
}

[data-bs-theme="dark"] .post-form-card .form-label,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-label {
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .post-form-card .form-control::placeholder,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-control::placeholder {
    color: #6b7280;
}

[data-bs-theme="dark"] .floating-label-group .floating-label {
    color: #6b7280;
}

[data-bs-theme="dark"] .floating-label-group .form-control:focus ~ .floating-label,
[data-bs-theme="dark"] .floating-label-group .form-control:not(:placeholder-shown) ~ .floating-label {
    background: linear-gradient(to bottom, transparent 50%, #1f2937 50%);
    color: #60a5fa;
}

[data-bs-theme="dark"] .post-form-card .input-group .input-group-text,
[data-bs-theme="dark"] .post-wizard-container ~ .container .input-group .input-group-text {
    background: linear-gradient(135deg, #374151 0%, #1f2937 100%) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
    color: #9ca3af !important;
}

[data-bs-theme="dark"] .post-form-card .input-group:focus-within .input-group-text,
[data-bs-theme="dark"] .post-wizard-container ~ .container .input-group:focus-within .input-group-text {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%) !important;
    border-color: #60a5fa !important;
    color: #60a5fa !important;
}

/* Responsive Design */
@media (max-width: 576px) {
    .post-form-card .form-control,
    .post-form-card .form-select,
    .post-wizard-container ~ .container .form-control,
    .post-wizard-container ~ .container .form-select {
        font-size: 0.9375rem;
        padding: 0.75rem 0.875rem !important;
    }

    .post-form-card .form-label,
    .post-wizard-container ~ .container .form-label {
        font-size: 0.875rem !important;
    }
}

/* ============================================
   SELECT2 DROPDOWN CUSTOMIZATION
   ============================================ */

/* Select2 Container */
.post-form-card .select2-container,
.post-wizard-container ~ .container .select2-container {
    width: 100% !important;
}

/* Select2 Selection (the main dropdown trigger) */
.post-form-card .select2-container--default .select2-selection--single,
.post-form-card .select2-container--default .select2-selection--multiple,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    padding: 0.625rem 1rem !important;
    min-height: 3.125rem !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}

.post-form-card .select2-container--default .select2-selection--single:hover,
.post-form-card .select2-container--default .select2-selection--multiple:hover,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single:hover,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple:hover {
    border-color: rgba(156, 163, 175, 0.6) !important;
}

.post-form-card .select2-container--default.select2-container--focus .select2-selection--single,
.post-form-card .select2-container--default.select2-container--focus .select2-selection--multiple,
.post-form-card .select2-container--default.select2-container--open .select2-selection--single,
.post-form-card .select2-container--default.select2-container--open .select2-selection--multiple,
.post-wizard-container ~ .container .select2-container--default.select2-container--focus .select2-selection--single,
.post-wizard-container ~ .container .select2-container--default.select2-container--focus .select2-selection--multiple,
.post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--single,
.post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #3b82f6 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 4px 6px -1px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
}

/* Select2 Single Selection Rendered Text */
.post-form-card .select2-container--default .select2-selection--single .select2-selection__rendered,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1f2937;
    line-height: 1.875rem !important;
    padding-left: 0 !important;
    font-size: 1rem;
    font-weight: 400;
}

.post-form-card .select2-container--default .select2-selection--single .select2-selection__placeholder,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9ca3af !important;
}

/* Select2 Arrow */
.post-form-card .select2-container--default .select2-selection--single .select2-selection__arrow,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    right: 0.75rem !important;
}

.post-form-card .select2-container--default .select2-selection--single .select2-selection__arrow b,
.post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #6b7280 transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
    margin-left: -5px !important;
    margin-top: -3px !important;
    transition: all 0.3s ease;
}

.post-form-card .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b,
.post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #3b82f6 transparent !important;
    border-width: 0 5px 6px 5px !important;
}

/* Select2 Multiple Selection */
.post-form-card .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Select2 Multiple Choice Tags */
.post-form-card .select2-container--default .select2-selection--multiple .select2-selection__choice,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    border-radius: 0.5rem !important;
    color: white !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem;
    font-weight: 500;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.post-form-card .select2-container--default .select2-selection--multiple .select2-selection__choice:hover,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple .select2-selection__choice:hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    transform: translateY(-1px);
}

/* Select2 Remove Button */
.post-form-card .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.125rem;
    font-weight: 400;
    margin-right: 0 !important;
    border: none !important;
    transition: color 0.2s ease;
    order: 2;
}

.post-form-card .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.post-wizard-container ~ .container .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: white !important;
    background: transparent !important;
}

/* Select2 Search Input */
.post-form-card .select2-container--default .select2-search--inline .select2-search__field,
.post-wizard-container ~ .container .select2-container--default .select2-search--inline .select2-search__field {
    margin: 0 !important;
    padding: 0.375rem 0.5rem !important;
    font-size: 1rem;
    color: #1f2937;
    min-width: 120px;
}

.post-form-card .select2-container--default .select2-search--inline .select2-search__field::placeholder,
.post-wizard-container ~ .container .select2-container--default .select2-search--inline .select2-search__field::placeholder {
    color: #9ca3af;
}

/* Select2 Dropdown */
.select2-dropdown {
    border: 2px solid #3b82f6 !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    background: white;
    margin-top: 0.5rem;
    overflow: hidden;
    animation: dropdownFadeIn 0.2s ease-out;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Select2 Search Box in Dropdown */
.select2-container--default .select2-search--dropdown {
    padding: 0.75rem !important;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 0.5rem !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    padding: 0.625rem 1rem !important;
    font-size: 0.9375rem;
    transition: all 0.3s ease;
    background: white;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
}

/* Select2 Results */
.select2-container--default .select2-results {
    max-height: 300px !important;
}

.select2-container--default .select2-results__options {
    padding: 0.25rem !important;
}

.select2-container--default .select2-results__option {
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem;
    color: #374151;
    border-radius: 0.5rem !important;
    margin: 0.125rem 0;
    transition: all 0.15s ease;
    cursor: pointer;
}

.select2-container--default .select2-results__option:hover,
.select2-container--default .select2-results__option--highlighted {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%) !important;
    color: #1f2937 !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    color: white !important;
    font-weight: 500;
}

.select2-container--default .select2-results__option[aria-selected="true"]::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    float: right;
    margin-left: 0.5rem;
}

/* Select2 No Results */
.select2-container--default .select2-results__option--no-results {
    background: #fef3c7 !important;
    color: #92400e !important;
    padding: 1rem !important;
    text-align: center;
    border-radius: 0.5rem !important;
    font-weight: 500;
}

/* Select2 Loading */
.select2-container--default .select2-results__option--loading {
    color: #6b7280 !important;
    text-align: center;
    padding: 1rem !important;
}

/* Select2 Group Labels */
.select2-container--default .select2-results__group {
    font-weight: 700 !important;
    font-size: 0.8125rem;
    color: #6b7280 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem 0.5rem !important;
    margin-top: 0.5rem;
}

.select2-container--default .select2-results__option--group .select2-results__option {
    padding-left: 1.5rem !important;
}

/* Clear Button */
.post-form-card .select2-container--default .select2-selection__clear,
.post-wizard-container ~ .container .select2-container--default .select2-selection__clear {
    color: #6b7280 !important;
    font-size: 1.25rem;
    font-weight: 700;
    margin-right: 0.5rem;
    transition: color 0.2s ease;
}

.post-form-card .select2-container--default .select2-selection__clear:hover,
.post-wizard-container ~ .container .select2-container--default .select2-selection__clear:hover {
    color: #ef4444 !important;
}

/* Dark Mode Support */
[data-bs-theme="dark"] .post-form-card .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .post-form-card .select2-container--default .select2-selection--multiple,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default .select2-selection--multiple {
    background-color: rgba(31, 41, 55, 0.9) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
}

[data-bs-theme="dark"] .post-form-card .select2-container--default.select2-container--focus .select2-selection--single,
[data-bs-theme="dark"] .post-form-card .select2-container--default.select2-container--focus .select2-selection--multiple,
[data-bs-theme="dark"] .post-form-card .select2-container--default.select2-container--open .select2-selection--single,
[data-bs-theme="dark"] .post-form-card .select2-container--default.select2-container--open .select2-selection--multiple,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default.select2-container--focus .select2-selection--single,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default.select2-container--focus .select2-selection--multiple,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--single,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--multiple {
    background-color: rgba(17, 24, 39, 1) !important;
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.15), 0 4px 6px -1px rgba(96, 165, 250, 0.15) !important;
}

[data-bs-theme="dark"] .post-form-card .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #f9fafb;
}

[data-bs-theme="dark"] .post-form-card .select2-container--default .select2-selection--single .select2-selection__arrow b,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #9ca3af transparent transparent transparent !important;
}

[data-bs-theme="dark"] .post-form-card .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b,
[data-bs-theme="dark"] .post-wizard-container ~ .container .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #60a5fa transparent !important;
}

[data-bs-theme="dark"] .select2-dropdown {
    background: #1f2937;
    border-color: #60a5fa !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown {
    background: #111827;
    border-bottom-color: #374151;
}

[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: #1f2937;
    color: #f9fafb;
    border-color: rgba(75, 85, 99, 0.8) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option:hover,
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted {
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.15) 0%, rgba(167, 139, 250, 0.15) 100%) !important;
    color: #f9fafb !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field {
    color: #f9fafb;
}

/* Responsive Design */
@media (max-width: 576px) {
    .post-form-card .select2-container--default .select2-selection--single,
    .post-form-card .select2-container--default .select2-selection--multiple,
    .post-wizard-container ~ .container .select2-container--default .select2-selection--single,
    .post-wizard-container ~ .container .select2-container--default .select2-selection--multiple {
        padding: 0.5rem 0.875rem !important;
        min-height: 2.875rem !important;
    }

    .post-form-card .select2-container--default .select2-selection--single .select2-selection__rendered,
    .post-wizard-container ~ .container .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 0.9375rem;
        line-height: 1.75rem !important;
    }
}

/* ============================================
   BOOTSTRAP FILEINPUT / FILE UPLOAD CUSTOMIZATION
   ============================================ */

/* File Input Container */
.post-form-card .file-input,
.post-wizard-container ~ .container .file-input {
    border-radius: 0.75rem !important;
    overflow: hidden;
}

/* File Input Main Container */
.post-form-card .file-input .btn-file,
.post-wizard-container ~ .container .file-input .btn-file {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 600;
    color: white !important;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
}

.post-form-card .file-input .btn-file:hover,
.post-wizard-container ~ .container .file-input .btn-file:hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px -1px rgba(59, 130, 246, 0.4);
}

/* File Drop Zone */
.post-form-card .file-drop-zone,
.post-wizard-container ~ .container .file-drop-zone {
    border: 2px dashed rgba(59, 130, 246, 0.4) !important;
    border-radius: 0.75rem !important;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.03) 0%, rgba(139, 92, 246, 0.03) 100%) !important;
    padding: 3rem 2rem !important;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.post-form-card .file-drop-zone:hover,
.post-wizard-container ~ .container .file-drop-zone:hover {
    border-color: rgba(59, 130, 246, 0.6) !important;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%) !important;
    transform: translateY(-2px);
}

.post-form-card .file-drop-zone.file-drop-zone-over,
.post-wizard-container ~ .container .file-drop-zone.file-drop-zone-over {
    border-color: #3b82f6 !important;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%) !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 10px 15px -3px rgba(59, 130, 246, 0.2);
}

.post-form-card .file-drop-zone-title,
.post-wizard-container ~ .container .file-drop-zone-title {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin-bottom: 0.5rem;
}

.post-form-card .file-drop-zone .file-drop-zone-title::before,
.post-wizard-container ~ .container .file-drop-zone .file-drop-zone-title::before {
    content: '\f093';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    display: block;
    font-size: 3rem;
    color: #3b82f6;
    margin-bottom: 1rem;
    opacity: 0.6;
}

/* File Preview Container */
.post-form-card .file-preview,
.post-wizard-container ~ .container .file-preview {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    background: rgba(249, 250, 251, 0.5) !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

.post-form-card .file-preview-frame,
.post-wizard-container ~ .container .file-preview-frame {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.6) !important;
    background: white !important;
    padding: 0.75rem !important;
    margin: 0.5rem !important;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.post-form-card .file-preview-frame:hover,
.post-wizard-container ~ .container .file-preview-frame:hover {
    border-color: #3b82f6 !important;
    box-shadow: 0 4px 8px rgba(59, 130, 246, 0.15);
    transform: translateY(-2px);
}

/* File Preview Thumbnails */
.post-form-card .file-preview-thumbnails,
.post-wizard-container ~ .container .file-preview-thumbnails {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    justify-content: flex-start !important;
}

.post-form-card .file-thumbnail-footer,
.post-wizard-container ~ .container .file-thumbnail-footer {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent) !important;
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
    padding: 0.75rem 0.5rem !important;
}

/* File Action Buttons */
.post-form-card .file-actions,
.post-wizard-container ~ .container .file-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 0.5rem;
}

.post-form-card .kv-file-remove,
.post-form-card .kv-file-upload,
.post-wizard-container ~ .container .kv-file-remove,
.post-wizard-container ~ .container .kv-file-upload {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    border-radius: 0.5rem !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem;
    font-weight: 600;
    transition: all 0.2s ease;
    color: #374151 !important;
}

.post-form-card .kv-file-remove:hover,
.post-wizard-container ~ .container .kv-file-remove:hover {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
    color: #dc2626 !important;
}

.post-form-card .kv-file-upload:hover,
.post-wizard-container ~ .container .kv-file-upload:hover {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
    color: #2563eb !important;
}

/* Caption Container */
.post-form-card .file-caption,
.post-wizard-container ~ .container .file-caption {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.8) !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    padding: 0.75rem 1rem !important;
    transition: all 0.3s ease;
}

.post-form-card .file-caption:focus-within,
.post-wizard-container ~ .container .file-caption:focus-within {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

.post-form-card .file-caption-name,
.post-wizard-container ~ .container .file-caption-name {
    color: #1f2937 !important;
    font-size: 0.9375rem;
    font-weight: 500;
}

/* File Input Buttons */
.post-form-card .btn-file,
.post-form-card .fileinput-upload-button,
.post-form-card .fileinput-remove-button,
.post-wizard-container ~ .container .btn-file,
.post-wizard-container ~ .container .fileinput-upload-button,
.post-wizard-container ~ .container .fileinput-remove-button {
    border-radius: 0.75rem !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 600;
    transition: all 0.3s ease;
}

.post-form-card .fileinput-upload-button,
.post-wizard-container ~ .container .fileinput-upload-button {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.3);
}

.post-form-card .fileinput-upload-button:hover,
.post-wizard-container ~ .container .fileinput-upload-button:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px -1px rgba(16, 185, 129, 0.4);
}

.post-form-card .fileinput-remove-button,
.post-wizard-container ~ .container .fileinput-remove-button {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.3);
}

.post-form-card .fileinput-remove-button:hover,
.post-wizard-container ~ .container .fileinput-remove-button:hover {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px -1px rgba(239, 68, 68, 0.4);
}

/* File Error Messages */
.post-form-card .kv-fileinput-error,
.post-wizard-container ~ .container .kv-fileinput-error {
    background: #fef2f2 !important;
    border: 2px solid #fecaca !important;
    border-radius: 0.75rem !important;
    color: #991b1b !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
    font-weight: 500;
}

/* File Loading Indicator */
.post-form-card .file-uploading,
.post-wizard-container ~ .container .file-uploading {
    opacity: 0.6;
    pointer-events: none;
}

.post-form-card .file-thumb-progress,
.post-wizard-container ~ .container .file-thumb-progress {
    background: rgba(59, 130, 246, 0.1) !important;
    height: 4px !important;
    border-radius: 2px;
    overflow: hidden;
}

.post-form-card .file-thumb-progress .progress-bar,
.post-wizard-container ~ .container .file-thumb-progress .progress-bar {
    background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 100%) !important;
    height: 100%;
    transition: width 0.3s ease;
}

/* Custom File Upload Box */
.modern-upload-box {
    border: 2px dashed rgba(59, 130, 246, 0.4);
    border-radius: 1rem;
    padding: 3rem 2rem;
    text-align: center;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.03) 0%, rgba(139, 92, 246, 0.03) 100%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.modern-upload-box::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.05) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modern-upload-box:hover {
    border-color: rgba(59, 130, 246, 0.6);
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.15);
}

.modern-upload-box:hover::before {
    opacity: 1;
}

.modern-upload-box.dragover {
    border-color: #3b82f6;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 10px 15px -3px rgba(59, 130, 246, 0.2);
}

.modern-upload-icon {
    font-size: 3.5rem;
    color: #3b82f6;
    margin-bottom: 1rem;
    opacity: 0.7;
}

.modern-upload-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.5rem;
}

.modern-upload-subtitle {
    font-size: 0.9375rem;
    color: #6b7280;
    margin-bottom: 1rem;
}

.modern-upload-hint {
    font-size: 0.8125rem;
    color: #9ca3af;
}

/* Dark Mode Support */
[data-bs-theme="dark"] .post-form-card .file-drop-zone,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-drop-zone {
    border-color: rgba(96, 165, 250, 0.4) !important;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.05) 0%, rgba(167, 139, 250, 0.05) 100%) !important;
}

[data-bs-theme="dark"] .post-form-card .file-drop-zone:hover,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-drop-zone:hover {
    border-color: rgba(96, 165, 250, 0.6) !important;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.08) 0%, rgba(167, 139, 250, 0.08) 100%) !important;
}

[data-bs-theme="dark"] .post-form-card .file-drop-zone-title,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-drop-zone-title {
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .post-form-card .file-drop-zone .file-drop-zone-title::before,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-drop-zone .file-drop-zone-title::before {
    color: #60a5fa;
}

[data-bs-theme="dark"] .post-form-card .file-preview,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-preview {
    background: rgba(31, 41, 55, 0.5) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
}

[data-bs-theme="dark"] .post-form-card .file-preview-frame,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-preview-frame {
    background: #1f2937 !important;
    border-color: rgba(75, 85, 99, 0.6) !important;
}

[data-bs-theme="dark"] .post-form-card .file-preview-frame:hover,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-preview-frame:hover {
    border-color: #60a5fa !important;
}

[data-bs-theme="dark"] .post-form-card .file-caption,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-caption {
    background-color: rgba(31, 41, 55, 0.9) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
}

[data-bs-theme="dark"] .post-form-card .file-caption-name,
[data-bs-theme="dark"] .post-wizard-container ~ .container .file-caption-name {
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .modern-upload-box {
    border-color: rgba(96, 165, 250, 0.4);
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.05) 0%, rgba(167, 139, 250, 0.05) 100%);
}

[data-bs-theme="dark"] .modern-upload-box:hover {
    border-color: rgba(96, 165, 250, 0.6);
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.08) 0%, rgba(167, 139, 250, 0.08) 100%);
}

[data-bs-theme="dark"] .modern-upload-icon {
    color: #60a5fa;
}

[data-bs-theme="dark"] .modern-upload-title {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .modern-upload-subtitle {
    color: #9ca3af;
}

[data-bs-theme="dark"] .modern-upload-hint {
    color: #6b7280;
}

/* Responsive Design */
@media (max-width: 768px) {
    .post-form-card .file-drop-zone,
    .post-wizard-container ~ .container .file-drop-zone,
    .modern-upload-box {
        padding: 2rem 1.5rem !important;
        min-height: 160px;
    }

    .modern-upload-icon {
        font-size: 2.5rem;
    }

    .modern-upload-title {
        font-size: 1.125rem;
    }
}

@media (max-width: 576px) {
    .post-form-card .file-preview-thumbnails,
    .post-wizard-container ~ .container .file-preview-thumbnails {
        flex-direction: column !important;
    }

    .post-form-card .file-drop-zone,
    .post-wizard-container ~ .container .file-drop-zone,
    .modern-upload-box {
        padding: 1.5rem 1rem !important;
        min-height: 140px;
    }

    .modern-upload-icon {
        font-size: 2rem;
    }

    .modern-upload-title {
        font-size: 1rem;
    }

    .modern-upload-subtitle {
        font-size: 0.875rem;
    }
}

/* ============================================
   MODERN CHECKBOXES & RADIO BUTTONS
   ============================================ */

/* Custom Checkbox Base */
.post-form-card .form-check,
.post-wizard-container ~ .container .form-check {
    padding-left: 0 !important;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
    min-height: 1.5rem;
}

.post-form-card .form-check-input,
.post-wizard-container ~ .container .form-check-input {
    width: 1.375rem !important;
    height: 1.375rem !important;
    border: 2px solid rgba(209, 213, 219, 0.8) !important;
    border-radius: 0.5rem !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 !important;
    flex-shrink: 0;
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.post-form-card .form-check-input:hover,
.post-wizard-container ~ .container .form-check-input:hover {
    border-color: rgba(156, 163, 175, 1) !important;
    background-color: rgba(249, 250, 251, 1) !important;
}

.post-form-card .form-check-input:focus,
.post-wizard-container ~ .container .form-check-input:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1) !important;
    outline: none !important;
}

.post-form-card .form-check-input:checked,
.post-wizard-container ~ .container .form-check-input:checked {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 8px -2px rgba(59, 130, 246, 0.4);
}

/* Checkbox Checkmark */
.post-form-card .form-check-input[type="checkbox"]:checked::after,
.post-wizard-container ~ .container .form-check-input[type="checkbox"]:checked::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 0.875rem;
    line-height: 1;
}

/* Radio Button Specific Styles */
.post-form-card .form-check-input[type="radio"],
.post-wizard-container ~ .container .form-check-input[type="radio"] {
    border-radius: 50% !important;
}

.post-form-card .form-check-input[type="radio"]:checked::after,
.post-wizard-container ~ .container .form-check-input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.5rem;
    height: 0.5rem;
    background: white;
    border-radius: 50%;
}

/* Checkbox/Radio Label */
.post-form-card .form-check-label,
.post-wizard-container ~ .container .form-check-label {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    color: #374151 !important;
    cursor: pointer;
    user-select: none;
    line-height: 1.5;
    margin: 0 !important;
}

.post-form-card .form-check-label:hover,
.post-wizard-container ~ .container .form-check-label:hover {
    color: #1f2937 !important;
}

/* Disabled State */
.post-form-card .form-check-input:disabled,
.post-wizard-container ~ .container .form-check-input:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #f3f4f6 !important;
}

.post-form-card .form-check-input:disabled ~ .form-check-label,
.post-wizard-container ~ .container .form-check-input:disabled ~ .form-check-label {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Switch Toggle Styles */
.post-form-card .form-switch .form-check-input,
.post-wizard-container ~ .container .form-switch .form-check-input {
    width: 2.75rem !important;
    height: 1.5rem !important;
    border-radius: 1rem !important;
    background-color: #d1d5db !important;
    border: none !important;
    background-image: none !important;
    position: relative;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.post-form-card .form-switch .form-check-input::before,
.post-wizard-container ~ .container .form-switch .form-check-input::before {
    content: '';
    position: absolute;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background: white;
    top: 50%;
    left: 0.1875rem;
    transform: translateY(-50%);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.post-form-card .form-switch .form-check-input:checked,
.post-wizard-container ~ .container .form-switch .form-check-input:checked {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    box-shadow: 0 4px 8px -2px rgba(59, 130, 246, 0.4);
}

.post-form-card .form-switch .form-check-input:checked::before,
.post-wizard-container ~ .container .form-switch .form-check-input:checked::before {
    left: calc(100% - 1.3125rem);
}

.post-form-card .form-switch .form-check-input:checked::after,
.post-wizard-container ~ .container .form-switch .form-check-input:checked::after {
    display: none;
}

.post-form-card .form-switch .form-check-input:focus,
.post-wizard-container ~ .container .form-switch .form-check-input:focus {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 4px 8px -2px rgba(59, 130, 246, 0.2) !important;
}

/* Inline Checkboxes/Radios */
.post-form-card .form-check-inline,
.post-wizard-container ~ .container .form-check-inline {
    display: inline-flex !important;
    align-items: center;
    margin-right: 1.5rem;
    margin-bottom: 0.5rem;
}

/* Checkbox/Radio Group Container */
.post-form-card .form-check-group,
.post-wizard-container ~ .container .form-check-group {
    background: rgba(249, 250, 251, 0.5);
    border-radius: 0.75rem;
    padding: 1rem;
    border: 2px solid rgba(229, 231, 235, 0.6);
}

.post-form-card .form-check-group .form-check:last-child,
.post-wizard-container ~ .container .form-check-group .form-check:last-child {
    margin-bottom: 0;
}

/* Card-style Radio/Checkbox Options */
.post-form-card .option-card,
.post-wizard-container ~ .container .option-card {
    border: 2px solid rgba(229, 231, 235, 0.8);
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    background: white;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.post-form-card .option-card:hover,
.post-wizard-container ~ .container .option-card:hover {
    border-color: rgba(156, 163, 175, 1);
    background: rgba(249, 250, 251, 1);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.post-form-card .option-card.selected,
.post-wizard-container ~ .container .option-card.selected {
    border-color: #3b82f6;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1), 0 4px 6px -1px rgba(59, 130, 246, 0.1);
}

.post-form-card .option-card .form-check,
.post-wizard-container ~ .container .option-card .form-check {
    margin-bottom: 0;
    width: 100%;
}

.post-form-card .option-card .option-content,
.post-wizard-container ~ .container .option-card .option-content {
    flex: 1;
}

.post-form-card .option-card .option-title,
.post-wizard-container ~ .container .option-card .option-title {
    font-weight: 600;
    font-size: 1rem;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.post-form-card .option-card .option-description,
.post-wizard-container ~ .container .option-card .option-description {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

.post-form-card .option-card.selected .option-title,
.post-wizard-container ~ .container .option-card.selected .option-title {
    color: #3b82f6;
}

/* Validation States */
.post-form-card .form-check-input.is-invalid,
.post-wizard-container ~ .container .form-check-input.is-invalid {
    border-color: #ef4444 !important;
}

.post-form-card .form-check-input.is-invalid:checked,
.post-wizard-container ~ .container .form-check-input.is-invalid:checked {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
}

.post-form-card .form-check-input.is-valid,
.post-wizard-container ~ .container .form-check-input.is-valid {
    border-color: #10b981 !important;
}

.post-form-card .form-check-input.is-valid:checked,
.post-wizard-container ~ .container .form-check-input.is-valid:checked {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
}

/* Dark Mode Support */
[data-bs-theme="dark"] .post-form-card .form-check-input,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-input {
    background-color: rgba(31, 41, 55, 0.9) !important;
    border-color: rgba(75, 85, 99, 0.8) !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-input:hover,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-input:hover {
    background-color: rgba(17, 24, 39, 1) !important;
    border-color: rgba(107, 114, 128, 1) !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-input:focus,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-input:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.15) !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-input:checked,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-input:checked {
    background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%) !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-label,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-label {
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-label:hover,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-label:hover {
    color: #f9fafb !important;
}

[data-bs-theme="dark"] .post-form-card .form-switch .form-check-input,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-switch .form-check-input {
    background-color: #4b5563 !important;
}

[data-bs-theme="dark"] .post-form-card .form-switch .form-check-input:checked,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-switch .form-check-input:checked {
    background: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%) !important;
}

[data-bs-theme="dark"] .post-form-card .form-check-group,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-check-group {
    background: rgba(31, 41, 55, 0.5);
    border-color: rgba(75, 85, 99, 0.6);
}

[data-bs-theme="dark"] .post-form-card .option-card,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card {
    background: #1f2937;
    border-color: rgba(75, 85, 99, 0.8);
}

[data-bs-theme="dark"] .post-form-card .option-card:hover,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card:hover {
    background: #111827;
    border-color: rgba(107, 114, 128, 1);
}

[data-bs-theme="dark"] .post-form-card .option-card.selected,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card.selected {
    border-color: #60a5fa;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.08) 0%, rgba(167, 139, 250, 0.08) 100%);
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.15), 0 4px 6px -1px rgba(96, 165, 250, 0.15);
}

[data-bs-theme="dark"] .post-form-card .option-card .option-title,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card .option-title {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .post-form-card .option-card .option-description,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card .option-description {
    color: #9ca3af;
}

[data-bs-theme="dark"] .post-form-card .option-card.selected .option-title,
[data-bs-theme="dark"] .post-wizard-container ~ .container .option-card.selected .option-title {
    color: #60a5fa;
}

/* Responsive Design */
@media (max-width: 576px) {
    .post-form-card .form-check,
    .post-wizard-container ~ .container .form-check {
        gap: 0.625rem;
    }

    .post-form-card .form-check-input,
    .post-wizard-container ~ .container .form-check-input {
        width: 1.25rem !important;
        height: 1.25rem !important;
    }

    .post-form-card .form-check-label,
    .post-wizard-container ~ .container .form-check-label {
        font-size: 0.875rem !important;
    }

    .post-form-card .form-switch .form-check-input,
    .post-wizard-container ~ .container .form-switch .form-check-input {
        width: 2.5rem !important;
        height: 1.375rem !important;
    }

    .post-form-card .form-switch .form-check-input::before,
    .post-wizard-container ~ .container .form-switch .form-check-input::before {
        width: 1rem;
        height: 1rem;
    }

    .post-form-card .form-switch .form-check-input:checked::before,
    .post-wizard-container ~ .container .form-switch .form-check-input:checked::before {
        left: calc(100% - 1.1875rem);
    }

    .post-form-card .option-card,
    .post-wizard-container ~ .container .option-card {
        padding: 0.875rem 1rem;
        gap: 0.75rem;
    }

    .post-form-card .option-card .option-title,
    .post-wizard-container ~ .container .option-card .option-title {
        font-size: 0.9375rem;
    }

    .post-form-card .option-card .option-description,
    .post-wizard-container ~ .container .option-card .option-description {
        font-size: 0.8125rem;
    }
}

/* ============================================
   ENHANCED FORM VALIDATION VISUAL FEEDBACK
   ============================================ */

/* Form Group with Validation State */
.post-form-card .form-group.has-error,
.post-wizard-container ~ .container .form-group.has-error {
    animation: shakeError 0.5s ease;
}

.post-form-card .form-group.has-success,
.post-wizard-container ~ .container .form-group.has-success {
    animation: fadeInSuccess 0.5s ease;
}

@keyframes shakeError {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
    20%, 40%, 60%, 80% { transform: translateX(4px); }
}

@keyframes fadeInSuccess {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Input with Validation Icon */
.post-form-card .has-validation-icon,
.post-wizard-container ~ .container .has-validation-icon {
    position: relative;
}

.post-form-card .has-validation-icon .form-control,
.post-wizard-container ~ .container .has-validation-icon .form-control {
    padding-right: 3rem !important;
}

.post-form-card .has-validation-icon .validation-icon,
.post-wizard-container ~ .container .has-validation-icon .validation-icon {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.125rem;
    pointer-events: none;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.post-form-card .has-validation-icon .form-control.is-invalid ~ .validation-icon.error,
.post-wizard-container ~ .container .has-validation-icon .form-control.is-invalid ~ .validation-icon.error {
    opacity: 1;
    color: #ef4444;
    animation: bounceIn 0.5s ease;
}

.post-form-card .has-validation-icon .form-control.is-valid ~ .validation-icon.success,
.post-wizard-container ~ .container .has-validation-icon .form-control.is-valid ~ .validation-icon.success {
    opacity: 1;
    color: #10b981;
    animation: bounceIn 0.5s ease;
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: translateY(-50%) scale(0.3);
    }
    50% {
        opacity: 1;
        transform: translateY(-50%) scale(1.1);
    }
    100% {
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }
}

/* Enhanced Feedback Messages */
.post-form-card .form-feedback,
.post-wizard-container ~ .container .form-feedback {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    to {
        opacity: 1;
        max-height: 100px;
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}

.post-form-card .form-feedback.error,
.post-wizard-container ~ .container .form-feedback.error {
    background: #fef2f2;
    border: 2px solid #fecaca;
    color: #991b1b;
}

.post-form-card .form-feedback.success,
.post-wizard-container ~ .container .form-feedback.success {
    background: #f0fdf4;
    border: 2px solid #bbf7d0;
    color: #166534;
}

.post-form-card .form-feedback.warning,
.post-wizard-container ~ .container .form-feedback.warning {
    background: #fffbeb;
    border: 2px solid #fde68a;
    color: #92400e;
}

.post-form-card .form-feedback.info,
.post-wizard-container ~ .container .form-feedback.info {
    background: #eff6ff;
    border: 2px solid #bfdbfe;
    color: #1e40af;
}

.post-form-card .form-feedback .feedback-icon,
.post-wizard-container ~ .container .form-feedback .feedback-icon {
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.post-form-card .form-feedback.error .feedback-icon::before,
.post-wizard-container ~ .container .form-feedback.error .feedback-icon::before {
    content: '\f06a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.post-form-card .form-feedback.success .feedback-icon::before,
.post-wizard-container ~ .container .form-feedback.success .feedback-icon::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.post-form-card .form-feedback.warning .feedback-icon::before,
.post-wizard-container ~ .container .form-feedback.warning .feedback-icon::before {
    content: '\f071';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.post-form-card .form-feedback.info .feedback-icon::before,
.post-wizard-container ~ .container .form-feedback.info .feedback-icon::before {
    content: '\f05a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

/* Validation Summary Box */
.post-form-card .validation-summary,
.post-wizard-container ~ .container .validation-summary {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 2px solid #fecaca;
    border-radius: 0.75rem;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    animation: slideDown 0.4s ease;
}

.post-form-card .validation-summary.success,
.post-wizard-container ~ .container .validation-summary.success {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #bbf7d0;
}

.post-form-card .validation-summary-title,
.post-wizard-container ~ .container .validation-summary-title {
    font-weight: 700;
    font-size: 1rem;
    color: #991b1b;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.post-form-card .validation-summary.success .validation-summary-title,
.post-wizard-container ~ .container .validation-summary.success .validation-summary-title {
    color: #166534;
}

.post-form-card .validation-summary-title::before,
.post-wizard-container ~ .container .validation-summary-title::before {
    content: '\f06a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 1.25rem;
}

.post-form-card .validation-summary.success .validation-summary-title::before,
.post-wizard-container ~ .container .validation-summary.success .validation-summary-title::before {
    content: '\f058';
}

.post-form-card .validation-summary-list,
.post-wizard-container ~ .container .validation-summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-form-card .validation-summary-list li,
.post-wizard-container ~ .container .validation-summary-list li {
    color: #991b1b;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.375rem 0;
    padding-left: 1.5rem;
    position: relative;
}

.post-form-card .validation-summary.success .validation-summary-list li,
.post-wizard-container ~ .container .validation-summary.success .validation-summary-list li {
    color: #166534;
}

.post-form-card .validation-summary-list li::before,
.post-wizard-container ~ .container .validation-summary-list li::before {
    content: '\f111';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0.5rem;
    font-size: 0.375rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Inline Validation Tooltip */
.post-form-card .validation-tooltip,
.post-wizard-container ~ .container .validation-tooltip {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 0.5rem;
    padding: 0.625rem 0.875rem;
    background: #1f2937;
    color: white;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    z-index: 10;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
    animation: tooltipFadeIn 0.3s ease;
}

@keyframes tooltipFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.post-form-card .validation-tooltip::before,
.post-wizard-container ~ .container .validation-tooltip::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 1.5rem;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #1f2937;
}

.post-form-card .validation-tooltip.error,
.post-wizard-container ~ .container .validation-tooltip.error {
    background: #991b1b;
}

.post-form-card .validation-tooltip.error::before,
.post-wizard-container ~ .container .validation-tooltip.error::before {
    border-bottom-color: #991b1b;
}

/* Progress Validation Indicator */
.post-form-card .validation-progress,
.post-wizard-container ~ .container .validation-progress {
    margin-top: 1rem;
}

.post-form-card .validation-progress-label,
.post-wizard-container ~ .container .validation-progress-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.post-form-card .validation-progress-bar,
.post-wizard-container ~ .container .validation-progress-bar {
    height: 0.5rem;
    background: #e5e7eb;
    border-radius: 0.25rem;
    overflow: hidden;
}

.post-form-card .validation-progress-fill,
.post-wizard-container ~ .container .validation-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 0.25rem;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.post-form-card .validation-progress-fill.complete,
.post-wizard-container ~ .container .validation-progress-fill.complete {
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
}

/* Field-level Requirements Checklist */
.post-form-card .field-requirements,
.post-wizard-container ~ .container .field-requirements {
    background: rgba(249, 250, 251, 0.5);
    border: 2px solid rgba(229, 231, 235, 0.6);
    border-radius: 0.75rem;
    padding: 1rem;
    margin-top: 0.75rem;
}

.post-form-card .field-requirements-title,
.post-wizard-container ~ .container .field-requirements-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 0.625rem;
}

.post-form-card .field-requirements-list,
.post-wizard-container ~ .container .field-requirements-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.post-form-card .field-requirement-item,
.post-wizard-container ~ .container .field-requirement-item {
    font-size: 0.8125rem;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.3s ease;
}

.post-form-card .field-requirement-item::before,
.post-wizard-container ~ .container .field-requirement-item::before {
    content: '\f111';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 0.5rem;
    color: #d1d5db;
    transition: all 0.3s ease;
}

.post-form-card .field-requirement-item.met,
.post-wizard-container ~ .container .field-requirement-item.met {
    color: #059669;
    font-weight: 500;
}

.post-form-card .field-requirement-item.met::before,
.post-wizard-container ~ .container .field-requirement-item.met::before {
    content: '\f058';
    font-size: 0.875rem;
    color: #10b981;
}

.post-form-card .field-requirement-item.failed,
.post-wizard-container ~ .container .field-requirement-item.failed {
    color: #dc2626;
    font-weight: 500;
}

.post-form-card .field-requirement-item.failed::before,
.post-wizard-container ~ .container .field-requirement-item.failed::before {
    content: '\f057';
    font-size: 0.875rem;
    color: #ef4444;
}

/* Dark Mode Support */
[data-bs-theme="dark"] .post-form-card .form-feedback.error,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-feedback.error {
    background: rgba(127, 29, 29, 0.2);
    border-color: rgba(220, 38, 38, 0.5);
    color: #fca5a5;
}

[data-bs-theme="dark"] .post-form-card .form-feedback.success,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-feedback.success {
    background: rgba(20, 83, 45, 0.2);
    border-color: rgba(34, 197, 94, 0.5);
    color: #86efac;
}

[data-bs-theme="dark"] .post-form-card .form-feedback.warning,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-feedback.warning {
    background: rgba(120, 53, 15, 0.2);
    border-color: rgba(251, 191, 36, 0.5);
    color: #fde047;
}

[data-bs-theme="dark"] .post-form-card .form-feedback.info,
[data-bs-theme="dark"] .post-wizard-container ~ .container .form-feedback.info {
    background: rgba(30, 58, 138, 0.2);
    border-color: rgba(59, 130, 246, 0.5);
    color: #93c5fd;
}

[data-bs-theme="dark"] .post-form-card .validation-summary,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-summary {
    background: linear-gradient(135deg, rgba(127, 29, 29, 0.2) 0%, rgba(153, 27, 27, 0.2) 100%);
    border-color: rgba(220, 38, 38, 0.5);
}

[data-bs-theme="dark"] .post-form-card .validation-summary-title,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-summary-title {
    color: #fca5a5;
}

[data-bs-theme="dark"] .post-form-card .validation-summary-list li,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-summary-list li {
    color: #fca5a5;
}

[data-bs-theme="dark"] .post-form-card .validation-tooltip,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-tooltip {
    background: #374151;
}

[data-bs-theme="dark"] .post-form-card .validation-tooltip::before,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-tooltip::before {
    border-bottom-color: #374151;
}

[data-bs-theme="dark"] .post-form-card .validation-progress-bar,
[data-bs-theme="dark"] .post-wizard-container ~ .container .validation-progress-bar {
    background: #374151;
}

[data-bs-theme="dark"] .post-form-card .field-requirements,
[data-bs-theme="dark"] .post-wizard-container ~ .container .field-requirements {
    background: rgba(31, 41, 55, 0.5);
    border-color: rgba(75, 85, 99, 0.6);
}

[data-bs-theme="dark"] .post-form-card .field-requirements-title,
[data-bs-theme="dark"] .post-wizard-container ~ .container .field-requirements-title {
    color: #9ca3af;
}

[data-bs-theme="dark"] .post-form-card .field-requirement-item,
[data-bs-theme="dark"] .post-wizard-container ~ .container .field-requirement-item {
    color: #9ca3af;
}

[data-bs-theme="dark"] .post-form-card .field-requirement-item.met,
[data-bs-theme="dark"] .post-wizard-container ~ .container .field-requirement-item.met {
    color: #6ee7b7;
}

[data-bs-theme="dark"] .post-form-card .field-requirement-item.failed,
[data-bs-theme="dark"] .post-wizard-container ~ .container .field-requirement-item.failed {
    color: #fca5a5;
}

/* Responsive Design */
@media (max-width: 576px) {
    .post-form-card .form-feedback,
    .post-wizard-container ~ .container .form-feedback {
        padding: 0.625rem 0.875rem;
        font-size: 0.8125rem;
    }

    .post-form-card .validation-summary,
    .post-wizard-container ~ .container .validation-summary {
        padding: 1rem;
    }

    .post-form-card .validation-summary-title,
    .post-wizard-container ~ .container .validation-summary-title {
        font-size: 0.9375rem;
    }

    .post-form-card .validation-tooltip,
    .post-wizard-container ~ .container .validation-tooltip {
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
}

/* ============================================
   CAROUSEL PRICE VISIBILITY FIX
   ============================================ */

/* Ensure carousel item cards have enough height for all content including price */
.featured-list-slider .item.card {
    min-height: 360px !important;
    height: auto !important;
}

/* Ensure price text is fully visible and not cut off */
.featured-list-slider .card-body h4 {
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.3 !important;
}

/* Ensure card body doesn't clip content */
.featured-list-slider .card-body {
    overflow: visible !important;
    padding-bottom: 1rem !important;
}

/* Adjust title spacing to accommodate price */
.featured-list-slider .card-body h6 {
    margin-bottom: 0.75rem !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .featured-list-slider .item.card {
        min-height: 340px !important;
    }
}

@media (max-width: 576px) {
    .featured-list-slider .item.card {
        min-height: 320px !important;
    }

    .featured-list-slider .card-body h4 {
        font-size: 1.125rem !important;
    }
}

/* ============================================
   USER SIDEBAR RESPONSIVE DESIGN
   ============================================ */

/* Tablet and below (768px and down) */
@media (max-width: 768px) {
    /* User avatar - slightly smaller on tablets */
    .post-form-card .rounded-circle[alt] {
        width: 90px !important;
        height: 90px !important;
    }

    /* Online status indicator */
    .post-form-card .rounded-circle + .position-absolute {
        width: 20px !important;
        height: 20px !important;
    }

    /* Posted by badge */
    .post-form-card .badge.rounded-pill {
        font-size: 0.7rem !important;
        padding: 0.5rem 1rem !important;
    }

    /* User name */
    .post-form-card .fs-5 {
        font-size: 1.125rem !important;
    }

    /* Info cards (location, joined) */
    .post-form-card .d-flex.align-items-center.justify-content-between {
        padding: 0.75rem !important;
    }

    .post-form-card .d-flex.align-items-center.justify-content-between .d-flex.align-items-center.justify-content-center {
        width: 32px !important;
        height: 32px !important;
    }

    .post-form-card .d-flex.align-items-center.justify-content-between span,
    .post-form-card .d-flex.align-items-center.justify-content-between a {
        font-size: 0.8125rem !important;
    }

    /* Action buttons */
    .post-form-card .btn {
        padding: 0.75rem 1.25rem !important;
        font-size: 0.9375rem !important;
    }

    /* Safety tips icons */
    .post-form-card .flex-shrink-0 {
        width: 28px !important;
        height: 28px !important;
    }

    .post-form-card .list-unstyled span {
        font-size: 0.875rem !important;
    }

    /* Card spacing */
    aside.vstack {
        gap: 1rem !important;
    }
}

/* Mobile (576px and down) */
@media (max-width: 576px) {
    /* User avatar - smaller on mobile */
    .post-form-card .rounded-circle[alt] {
        width: 80px !important;
        height: 80px !important;
        border-width: 2px !important;
    }

    /* Online status indicator - smaller */
    .post-form-card .rounded-circle + .position-absolute {
        width: 18px !important;
        height: 18px !important;
        border-width: 2px !important;
    }

    /* Posted by badge - more compact */
    .post-form-card .badge.rounded-pill {
        font-size: 0.65rem !important;
        padding: 0.4rem 0.875rem !important;
        letter-spacing: 0.03em !important;
    }

    /* User name - smaller */
    .post-form-card .fs-5 {
        font-size: 1rem !important;
    }

    /* Info cards - stack content vertically on very small screens */
    .post-form-card .d-flex.align-items-center.justify-content-between {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
        padding: 0.625rem !important;
    }

    .post-form-card .d-flex.align-items-center.justify-content-between > * {
        width: 100%;
    }

    /* Icon boxes - smaller */
    .post-form-card .d-flex.align-items-center.justify-content-between .d-flex.align-items-center.justify-content-center {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.875rem !important;
    }

    .post-form-card .d-flex.align-items-center.justify-content-between span,
    .post-form-card .d-flex.align-items-center.justify-content-between a {
        font-size: 0.8125rem !important;
    }

    /* Action buttons - full width and more compact */
    .post-form-card .btn {
        padding: 0.625rem 1rem !important;
        font-size: 0.875rem !important;
        border-radius: 0.5rem !important;
        width: 100% !important;
        text-align: center !important;
    }

    .post-form-card .btn i {
        font-size: 0.875rem !important;
    }

    /* Card headers - more compact */
    .post-form-card .card-header {
        padding: 0.75rem 1rem !important;
        font-size: 0.9375rem !important;
    }

    /* Card body padding */
    .post-form-card .card-body {
        padding: 0rem !important;
    }

    /* Safety tips - smaller icons and text */
    .post-form-card .flex-shrink-0 {
        width: 26px !important;
        height: 26px !important;
        font-size: 0.75rem !important;
    }

    .post-form-card .list-unstyled {
        gap: 0.625rem !important;
    }

    .post-form-card .list-unstyled span {
        font-size: 0.8125rem !important;
        line-height: 1.5 !important;
    }

    /* Google Maps - adjusted height for mobile */
    .posts-googlemaps iframe,
    .posts-googlemaps #googleMaps {
        height: 200px !important;
    }

    /* Card spacing - tighter on mobile */
    aside.vstack {
        gap: 0.875rem !important;
    }

    /* Border widths - thinner on mobile */
    .post-form-card .card-header {
        border-bottom-width: 1px !important;
    }

    /* Container padding adjustments */
    .post-form-card .container.p-0 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    /* Reviews stars - ensure they fit */
    .post-form-card .mt-1 {
        font-size: 0.875rem !important;
    }
}

/* Extra small mobile (400px and down) */
@media (max-width: 400px) {
    /* User avatar - even smaller for tiny screens */
    .post-form-card .rounded-circle[alt] {
        width: 70px !important;
        height: 70px !important;
    }

    /* Online status indicator */
    .post-form-card .rounded-circle + .position-absolute {
        width: 16px !important;
        height: 16px !important;
    }

    /* Posted by badge */
    .post-form-card .badge.rounded-pill {
        font-size: 0.625rem !important;
        padding: 0.375rem 0.75rem !important;
    }

    /* User name */
    .post-form-card .fs-5 {
        font-size: 0.9375rem !important;
    }

    /* Action buttons */
    .post-form-card .btn {
        padding: 0.5rem 0.875rem !important;
        font-size: 0.8125rem !important;
    }

    /* Card headers */
    .post-form-card .card-header {
        padding: 0.625rem 0.875rem !important;
        font-size: 0.875rem !important;
    }

    /* Safety tips */
    .post-form-card .flex-shrink-0 {
        width: 24px !important;
        height: 24px !important;
    }

    .post-form-card .list-unstyled span {
        font-size: 0.75rem !important;
    }

    /* Google Maps */
    .posts-googlemaps iframe,
    .posts-googlemaps #googleMaps {
        height: 180px !important;
    }
}

/* Landscape mobile orientation */
@media (max-width: 768px) and (orientation: landscape) {
    /* Adjust avatar for landscape */
    .post-form-card .rounded-circle[alt] {
        width: 70px !important;
        height: 70px !important;
    }

    /* Make info cards more compact in landscape */
    .post-form-card .d-flex.align-items-center.justify-content-between {
        padding: 0.5rem !important;
    }

    /* Reduce vertical spacing */
    aside.vstack {
        gap: 0.75rem !important;
    }

    .post-form-card .card-body {
        padding: 0rem !important;
    }
}

/* Touch-friendly enhancements for all mobile devices */
@media (hover: none) and (pointer: coarse) {
    /* Increase tap target sizes for better mobile UX */
    .post-form-card .btn {
        min-height: 44px !important;
    }

    /* Add more padding to clickable areas */
    .post-form-card a {
        padding: 0.25rem !important;
    }

    /* Ensure info cards have good tap targets */
    .post-form-card .d-flex.align-items-center.justify-content-between {
        min-height: 48px;
    }
}

/* Dark mode responsive adjustments */
@media (max-width: 576px) {
    [data-bs-theme="dark"] .post-form-card {
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3) !important;
    }

    [data-bs-theme="dark"] .post-form-card .card-header {
        border-bottom-width: 1px !important;
    }
}

/* ===================================
   Responsive Form Card Body Padding
   =================================== */
/* Desktop (lg+) = 0 padding, add padding as screens get smaller */
.post-form-card .card-body { padding: 1rem !important; }
@media (min-width: 576px) { .post-form-card .card-body { padding: 0.75rem !important; } }
@media (min-width: 768px) { .post-form-card .card-body { padding: 0.5rem !important; } }
@media (min-width: 992px) { .post-form-card .card-body { padding: 0rem !important; } }
@media (min-width: 1200px) { .post-form-card .card-body { padding: 0rem !important; } }

/* Fix for glassmorphism on mobile - reduce blur for performance */
@media (max-width: 768px) {
    .post-form-card {
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }
}

/* Ensure buttons don't wrap text awkwardly on mobile */
@media (max-width: 576px) {
    .post-form-card .btn {
        white-space: normal !important;
        line-height: 1.4 !important;
    }

    .post-form-card .btn i {
        margin-right: 0.375rem !important;
    }
}

/* ============================================
   JOINED DATE CALENDAR STYLE RESPONSIVE
   ============================================ */

/* Mobile adjustments for joined date */
@media (max-width: 576px) {
    /* Calendar date box - slightly smaller on mobile */
    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] {
        width: 60px !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div {
        font-size: 1.25rem !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:first-child {
        font-size: 1.25rem !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:nth-child(2) {
        font-size: 0.65rem !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:last-child {
        font-size: 0.75rem !important;
    }

    /* Calendar icon and text - smaller */
    .post-form-card .bi-calendar-check {
        font-size: 1rem !important;
    }

    .post-form-card .d-flex.flex-column > span:first-child {
        font-size: 0.7rem !important;
    }

    .post-form-card .d-flex.flex-column > span:last-child {
        font-size: 0.8125rem !important;
    }

    /* Content padding */
    .post-form-card .d-flex.align-items-stretch .px-3 {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}

/* Extra small mobile */
@media (max-width: 400px) {
    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] {
        width: 55px !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:first-child {
        font-size: 1.125rem !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:nth-child(2) {
        font-size: 0.625rem !important;
    }

    .post-form-card .d-flex.align-items-stretch > div[style*="width: 70px"] > div > div:last-child {
        font-size: 0.75rem !important;
    }

    .post-form-card .bi-calendar-check {
        font-size: 0.875rem !important;
    }

    .post-form-card .d-flex.flex-column > span:first-child {
        font-size: 0.65rem !important;
    }

    .post-form-card .d-flex.flex-column > span:last-child {
        font-size: 0.75rem !important;
    }

    .post-form-card .d-flex.align-items-stretch .px-3 {
        padding-left: 0.625rem !important;
        padding-right: 0.625rem !important;
    }
}

/* ============================================
   SIDEBAR BUTTON TEXT SIZE ADJUSTMENTS
   ============================================ */

/* Make button text smaller in sidebar */
.post-form-card .btn,
aside .btn {
    font-size: 0.875rem !important;
}

/* Make icon spacing consistent */
.post-form-card .btn i,
aside .btn i {
    margin-right: 0.5rem;
}

/* ==========================================
   MODERN MESSAGING SYSTEM - TAILWIND INSPIRED
   ========================================== */

/* Chat Container */
.message-chat {
    position: relative;
}

#messageChatHistory {
    scrollbar-width: thin;
    scrollbar-color: rgba(139, 92, 246, 0.3) rgba(229, 231, 235, 0.3);
}

#messageChatHistory::-webkit-scrollbar {
    width: 6px;
}

#messageChatHistory::-webkit-scrollbar-track {
    background: rgba(229, 231, 235, 0.3);
    border-radius: 10px;
}

#messageChatHistory::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 10px;
}

#messageChatHistory::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
}

/* Chat Item - My Messages */
.chat-item.object-me .msg {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    color: white !important;
    border-radius: 1.25rem 1.25rem 0.25rem 1.25rem !important;
    padding: 0.875rem 1.25rem !important;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3),
                0 2px 4px -1px rgba(59, 130, 246, 0.2);
    transition: all 0.3s ease;
    position: relative;
    max-width: 85%;
    margin-left: auto;
}

.chat-item.object-me .msg:hover {
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4),
                0 4px 6px -2px rgba(59, 130, 246, 0.3);
    transform: translateY(-2px);
}

.chat-item.object-me .msg a {
    color: white !important;
    text-decoration: underline;
    font-weight: 600;
}

.chat-item.object-me .msg::before {
    content: '';
    position: absolute;
    right: -8px;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 10px solid #8b5cf6;
    border-top: 10px solid transparent;
}

/* Chat Item - Other User Messages */
.chat-item.object-user .msg {
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%) !important;
    color: #1f2937 !important;
    border-radius: 1.25rem 1.25rem 1.25rem 0.25rem !important;
    padding: 0.875rem 1.25rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
                0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    position: relative;
    max-width: 85%;
}

.chat-item.object-user .msg:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15),
                0 4px 6px -2px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.chat-item.object-user .msg::before {
    content: '';
    position: absolute;
    left: -8px;
    bottom: 0;
    width: 0;
    height: 0;
    border-right: 10px solid #e5e7eb;
    border-top: 10px solid transparent;
}

/* User Avatar in Chat */
.chat-item .object-user-img img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: 3px solid transparent;
    border-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) 1;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
    transition: transform 0.3s ease;
    object-fit: cover;
}

.chat-item .object-user-img img:hover {
    transform: scale(1.1);
}

/* Time and Date Styling */
.time-and-date {
    font-size: 0.75rem;
    color: #6b7280 !important;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.375rem;
}

.chat-item.object-me .time-and-date {
    color: #9ca3af !important;
}

/* Read Receipt Icons */
.time-and-date .fa-check-double {
    color: #10b981;
    font-size: 0.875rem;
}

/* Online Status Indicator */
.color-success,
.text-success .fa-circle {
    color: #10b981 !important;
    font-size: 0.625rem;
    animation: pulse-green 2s ease-in-out infinite;
}

@keyframes pulse-green {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
}

/* File Attachment Styling */
.chat-item .msg .fa-paperclip {
    color: rgba(255, 255, 255, 0.8);
    margin-right: 0.375rem;
}

.chat-item.object-user .msg .fa-paperclip {
    color: #6b7280;
}

.chat-item .msg a[target="_blank"] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    transition: all 0.3s ease;
}

.chat-item .msg a[target="_blank"]:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateX(2px);
}

.chat-item.object-user .msg a[target="_blank"] {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6 !important;
}

.chat-item.object-user .msg a[target="_blank"]:hover {
    background: rgba(59, 130, 246, 0.15);
}

/* User Bar Top Styling */
.user-bar-top {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(229, 231, 235, 0.6);
}

.user-bar-top p {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.user-bar-top .btn-group .btn {
    border-radius: 0.5rem !important;
    transition: all 0.3s ease;
}

.user-bar-top .btn-group .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
}

/* Message Reply Form */
.message-chat form {
    border-top: 2px solid rgba(229, 231, 235, 0.6);
    padding-top: 1rem;
    margin-top: 1rem;
}

.message-chat textarea {
    border-radius: 0.75rem !important;
    border: 2px solid rgba(229, 231, 235, 0.6) !important;
    transition: all 0.3s ease;
    resize: none;
}

.message-chat textarea:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

.message-chat .btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3);
    transition: all 0.3s ease;
}

.message-chat .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4);
}

/* Typing Indicator */
.typing-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    border-radius: 1.25rem;
    margin-bottom: 1rem;
}

.typing-indicator span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6b7280;
    animation: typing 1.4s ease-in-out infinite;
}

.typing-indicator span:nth-child(2) {
    animation-delay: 0.2s;
}

.typing-indicator span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typing {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 0.6;
    }
    30% {
        transform: translateY(-10px);
        opacity: 1;
    }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .chat-item.object-me .msg,
    .chat-item.object-user .msg {
        max-width: 90%;
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem;
    }

    .chat-item .object-user-img img {
        width: 40px !important;
        height: 40px !important;
    }

    .user-bar-top {
        padding: 0.875rem 1rem;
    }

    .user-bar-top .fs-5 {
        font-size: 0.9375rem !important;
    }
}

/* ===================================
   HOMEPAGE MODERNIZATION
   Date: November 9, 2025
   =================================== */

/* Category Cards - Modern Gradient Design */
#homepage .big-icon-category-list .col > div {
    border: 1px solid transparent !important;
    background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

[data-bs-theme="dark"] #homepage .big-icon-category-list .col > div {
    background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Category Card Hover Effects */
#homepage .big-icon-category-list .col > div::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 0;
}

#homepage .big-icon-category-list .col > div:hover::before {
    opacity: 0.08;
}

#homepage .big-icon-category-list .col > div:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(59, 130, 246, 0.15), 
                0 10px 20px rgba(139, 92, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.2) !important;
}

#homepage .big-icon-category-list a {
    position: relative;
    z-index: 1;
}

/* Category Icon Gradient */
#homepage .big-icon-category-list i {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: transform 0.3s ease;
}

#homepage .big-icon-category-list .col > div:hover i {
    transform: scale(1.1);
}

/* Category Name Styling */
#homepage .big-icon-category-list h6 {
    color: #1f2937;
    font-weight: 600;
    line-height: 1.4;
}

[data-bs-theme="dark"] #homepage .big-icon-category-list h6 {
    color: #f3f4f6;
}

#homepage .big-icon-category-list .col > div:hover h6 {
    color: #3b82f6;
}

[data-bs-theme="dark"] #homepage .big-icon-category-list .col > div:hover h6 {
    color: #60a5fa;
}

/* Stats Section - Modern Design */
#homepage .card-body .row .col-sm-4 {
    position: relative;
    padding: 1.5rem 0;
}

#homepage .card-body .row .col-sm-4::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 60%;
    background: linear-gradient(to bottom, 
        transparent, 
        rgba(229, 231, 235, 0.8), 
        transparent);
}

#homepage .card-body .row .col-sm-4:last-child::after {
    display: none;
}

[data-bs-theme="dark"] #homepage .card-body .row .col-sm-4::after {
    background: linear-gradient(to bottom, 
        transparent, 
        rgba(75, 85, 99, 0.5), 
        transparent);
}

/* Stats Icon Gradient */
#homepage .card-body .row .col-sm-4 i {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 2px 10px rgba(59, 130, 246, 0.2);
}

/* Stats Counter Animation */
#homepage .card-body .counter {
    background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
}

[data-bs-theme="dark"] #homepage .card-body .counter {
    background: linear-gradient(135deg, #f9fafb 0%, #e5e7eb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Stats Label Styling */
#homepage .card-body .fs-5 {
    color: #6b7280;
    font-weight: 500;
}

[data-bs-theme="dark"] #homepage .card-body .fs-5 {
    color: #9ca3af;
}

/* Categories Section Card */
#homepage .container .card {
    border: 1px solid rgba(229, 231, 235, 0.8);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

[data-bs-theme="dark"] #homepage .container .card {
    border-color: rgba(55, 65, 81, 0.5);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* Section Headers */
#homepage .card-header h4 {
    font-size: 1.75rem;
    color: #1f2937;
}

[data-bs-theme="dark"] #homepage .card-header h4 {
    color: #f3f4f6;
}

#homepage .card-header h4 .fw-bold {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* View More Link */
#homepage .card-header a {
    color: #3b82f6;
    font-weight: 600;
    transition: all 0.2s ease;
}

#homepage .card-header a:hover {
    color: #2563eb;
    transform: translateX(4px);
}

#homepage .card-header a i {
    transition: transform 0.2s ease;
}

#homepage .card-header a:hover i {
    transform: translateX(4px);
}

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

.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
    opacity: 0;
}

#homepage .big-icon-category-list .col:nth-child(1) { animation-delay: 0.05s; }
#homepage .big-icon-category-list .col:nth-child(2) { animation-delay: 0.1s; }
#homepage .big-icon-category-list .col:nth-child(3) { animation-delay: 0.15s; }
#homepage .big-icon-category-list .col:nth-child(4) { animation-delay: 0.2s; }
#homepage .big-icon-category-list .col:nth-child(5) { animation-delay: 0.25s; }
#homepage .big-icon-category-list .col:nth-child(6) { animation-delay: 0.3s; }
#homepage .big-icon-category-list .col:nth-child(7) { animation-delay: 0.35s; }
#homepage .big-icon-category-list .col:nth-child(8) { animation-delay: 0.4s; }
#homepage .big-icon-category-list .col:nth-child(9) { animation-delay: 0.45s; }
#homepage .big-icon-category-list .col:nth-child(10) { animation-delay: 0.5s; }
#homepage .big-icon-category-list .col:nth-child(11) { animation-delay: 0.55s; }
#homepage .big-icon-category-list .col:nth-child(12) { animation-delay: 0.6s; }

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    #homepage .big-icon-category-list .col > div {
        padding: 1rem 0.75rem !important;
    }
    
    #homepage .big-icon-category-list i {
        font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
    }
    
    #homepage .card-body .row .col-sm-4::after {
        display: none;
    }
    
    #homepage .card-body .row .col-sm-4 {
        padding: 1rem 0;
        border-bottom: 1px solid rgba(229, 231, 235, 0.5);
    }
    
    #homepage .card-body .row .col-sm-4:last-child {
        border-bottom: none;
    }
    
    [data-bs-theme="dark"] #homepage .card-body .row .col-sm-4 {
        border-bottom-color: rgba(75, 85, 99, 0.3);
    }
    
    #homepage .card-header h4 {
        font-size: 1.25rem;
    }
}

/* Touch Devices - Remove Hover Effects */
@media (hover: none) and (pointer: coarse) {
    #homepage .big-icon-category-list .col > div:hover {
        transform: none;
    }
    
    #homepage .big-icon-category-list .col > div:active {
        transform: scale(0.98);
    }
}

/* Testimonials Section */
#homepage .testimonials-card .testimonial-item {
    border: 1px solid rgba(229, 231, 235, 0.8);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s;
}

[data-bs-theme="dark"] #homepage .testimonials-card .testimonial-item {
    background: linear-gradient(180deg, #0b1220 0%, #0f172a 100%);
    border-color: rgba(55, 65, 81, 0.5);
}

#homepage .testimonials-card .testimonial-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(59, 130, 246, 0.15);
}

#homepage .testimonial-avatar {
    object-fit: cover;
    border: 2px solid rgba(59, 130, 246, 0.2);
}

#homepage .star-rating i.fas.fa-star {
    color: #fbbf24; /* amber-400 */
}
#homepage .star-rating i.far.fa-star {
    color: #d1d5db; /* gray-300 */
}

[data-bs-theme="dark"] #homepage .star-rating i.far.fa-star {
    color: #4b5563;
}

/* Testimonials - Horizontal Scroller */
#homepage .testimonials-card { position: relative; }
#homepage .testimonials-card .testimonial-scroller {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
#homepage .testimonials-card .testimonial-scroller::-webkit-scrollbar { height: 8px; }
#homepage .testimonials-card .testimonial-scroller::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.4);
    border-radius: 4px;
}
#homepage .testimonials-card .testimonial-slide {
    scroll-snap-align: start;
    flex: 0 0 100%;
}
@media (min-width: 768px) {
    #homepage .testimonials-card .testimonial-slide { flex-basis: calc(50% - .5rem); }
}
@media (min-width: 992px) {
    #homepage .testimonials-card .testimonial-slide { flex-basis: calc(33.333% - .67rem); }
}

#homepage .testimonials-card .testimonial-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
#homepage .testimonials-card .testimonial-prev { left: 0.5rem; }
#homepage .testimonials-card .testimonial-next { right: 0.5rem; }
