/**
 * Styles pour le système de traduction
 * Support RTL pour l'arabe
 */

/* Support RTL (Right-to-Left) pour l'arabe */
.rtl-mode {
    direction: rtl;
}

.rtl-mode .container {
    direction: rtl;
}

/* Inverser les marges et paddings pour RTL */
.rtl-mode .ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.rtl-mode .mr-auto {
    margin-right: 0 !important;
    margin-left: auto !important;
}

.rtl-mode .text-left {
    text-align: right !important;
}

.rtl-mode .text-right {
    text-align: left !important;
}

/* Navigation RTL */
.rtl-mode nav {
    direction: rtl;
}

.rtl-mode .flex.items-center.space-x-2 > * + * {
    margin-left: 0;
    margin-right: 0.5rem;
}

.rtl-mode .flex.items-center.space-x-3 > * + * {
    margin-left: 0;
    margin-right: 0.75rem;
}

.rtl-mode .flex.items-center.space-x-4 > * + * {
    margin-left: 0;
    margin-right: 1rem;
}

/* Dropdown RTL */
.rtl-mode .language-selector {
    direction: ltr; /* Garder le dropdown en LTR pour la lisibilité */
}

.rtl-mode #lang-dropdown {
    right: auto;
    left: 0;
}

@media (max-width: 640px) {
    .rtl-mode #lang-dropdown {
        left: 0 !important;
        right: auto !important;
    }
}

/* Cards et contenus RTL */
.rtl-mode .news-card,
.rtl-mode .glass,
.rtl-mode article {
    direction: rtl;
    text-align: right;
}

/* Formulaires RTL */
.rtl-mode input,
.rtl-mode textarea,
.rtl-mode select {
    direction: rtl;
    text-align: right;
}

.rtl-mode .relative input {
    padding-left: 2.5rem;
    padding-right: 0.75rem;
}

.rtl-mode .relative .fas.fa-search {
    left: auto;
    right: 1rem;
}

/* Footer RTL */
.rtl-mode footer {
    direction: rtl;
}

/* Mobile menu RTL */
.rtl-mode .mobile-menu-container {
    right: auto;
    left: 0;
    border-left: none;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.rtl-mode .mobile-nav-link {
    text-align: right;
}

.rtl-mode .mobile-nav-icon {
    margin-right: 0;
    margin-left: 1rem;
}

/* Animations de chargement */
.loading-spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Style pour le sélecteur de langue */
.language-selector {
    position: relative;
}

#lang-dropdown {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    min-width: 180px;
    max-height: 80vh;
    overflow-y: auto;
}

/* Responsive pour le dropdown sur mobile */
@media (max-width: 640px) {
    #lang-dropdown {
        width: calc(100vw - 2rem) !important;
        max-width: 280px;
        right: 0 !important;
        left: auto !important;
    }
    
    .language-selector {
        position: relative;
    }
}

/* Ajustement pour les petits écrans */
@media (max-width: 480px) {
    #lang-dropdown {
        width: calc(100vw - 1.5rem) !important;
        max-width: 260px;
    }
}

.lang-option {
    transition: all 0.2s ease;
}

.lang-option:hover {
    background-color: rgba(30, 64, 175, 0.1);
}

.lang-option.active {
    background-color: rgba(30, 64, 175, 0.05);
}

/* Indicateur de traduction */
#translation-loader {
    animation: slideInRight 0.3s ease;
}

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

/* Ajustements pour les icônes Font Awesome en RTL */
.rtl-mode .fas,
.rtl-mode .far,
.rtl-mode .fab {
    direction: ltr; /* Les icônes restent en LTR */
    display: inline-block;
}

/* Ajustements pour les boutons avec icônes */
.rtl-mode .btn-premium i,
.rtl-mode button i {
    margin-left: 0;
    margin-right: 0.5rem;
}

.rtl-mode .btn-premium i:first-child {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* Ajustements pour les liens avec icônes */
.rtl-mode a i.fa-arrow-right {
    transform: scaleX(-1);
}

.rtl-mode a i.fa-arrow-left {
    transform: scaleX(-1);
}

/* Support pour les tableaux en RTL */
.rtl-mode table {
    direction: rtl;
}

.rtl-mode th,
.rtl-mode td {
    text-align: right;
}

/* Support pour les listes en RTL */
.rtl-mode ul,
.rtl-mode ol {
    padding-right: 1.5rem;
    padding-left: 0;
}

/* Ajustements pour les grilles */
.rtl-mode .grid {
    direction: rtl;
}

/* Ajustements pour les flexbox */
.rtl-mode .flex-row-reverse {
    flex-direction: row;
}

.rtl-mode .flex-row {
    flex-direction: row-reverse;
}

/* Support pour les articles de blog */
.rtl-mode .article-content {
    direction: rtl;
    text-align: right;
}

.rtl-mode .article-content h1,
.rtl-mode .article-content h2,
.rtl-mode .article-content h3,
.rtl-mode .article-content h4,
.rtl-mode .article-content h5,
.rtl-mode .article-content h6 {
    text-align: right;
}

.rtl-mode .article-content p {
    text-align: right;
}

.rtl-mode .article-content blockquote {
    border-left: none;
    border-right: 4px solid #1E40AF;
    padding-left: 0;
    padding-right: 1.5rem;
    margin-left: 0;
    margin-right: 1.5rem;
}

/* Support pour les breadcrumbs */
.rtl-mode nav[aria-label="Breadcrumb"] {
    direction: rtl;
}

.rtl-mode nav[aria-label="Breadcrumb"] span.mx-2::before {
    content: '/';
}

.rtl-mode nav[aria-label="Breadcrumb"] span.mx-2 {
    margin-left: 0;
    margin-right: 0.5rem;
}

/* Responsive pour RTL */
@media (max-width: 768px) {
    .rtl-mode .mobile-menu-container {
        transform: translateX(-100%);
    }
    
    .rtl-mode #mobile-menu-overlay.active .mobile-menu-container {
        transform: translateX(0);
    }
}

/* --- Association Horizon Solidaire : styles du sélecteur (équivalent Tailwind Boukar) --- */

/* Ne pas couper le menu ; barre sombre au-dessus de la navbar sticky (1020) */
.container-fluid.bg-dark {
    position: relative;
    z-index: 1030;
}

.container-fluid.bg-dark,
.container-fluid.bg-dark > .row,
.container-fluid.bg-dark .col-lg-6,
#lang-selector-container,
#lang-selector-container.language-selector {
    overflow: visible !important;
}

.language-selector {
    position: relative;
    z-index: 1100;
}

/* Menu sous le bouton, visible par-dessus la navbar */
#lang-selector-container .lang-dropdown-panel,
#lang-selector-container #lang-dropdown,
.language-selector .lang-dropdown-panel,
.language-selector #lang-dropdown {
    position: absolute !important;
    z-index: 1100 !important;
    top: 100% !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    margin-top: 0.35rem !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.language-selector #lang-btn,
.language-selector .lang-btn-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.language-selector #lang-btn:hover,
.language-selector .lang-btn-trigger:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: scale(1.05);
}

.language-selector #lang-btn .text-slate-700,
.language-selector--mobile .lang-btn-trigger .text-slate-700 {
    color: inherit;
}

#lang-selector-container #lang-btn .text-slate-700 {
    color: #fff !important;
}

.language-selector #lang-btn .bg-accent,
.language-selector .lang-btn-trigger .bg-accent {
    background-color: #0f488e !important;
}

.language-selector .text-accent,
.language-selector .fa-check.text-accent {
    color: #0f488e !important;
}

.language-selector .hover\:bg-accent\/10:hover,
.language-selector .lang-option:hover {
    background-color: rgba(15, 72, 142, 0.08) !important;
}

.language-selector .bg-accent\/5,
.language-selector .lang-option.active {
    background-color: rgba(15, 72, 142, 0.1) !important;
}

.language-selector .lang-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
}

.language-selector .flex { display: flex; }
.language-selector .items-center { align-items: center; }
.language-selector .justify-center { justify-content: center; }
.language-selector .space-x-3 > * + * { margin-left: 0.75rem; }
.language-selector .flex-1 { flex: 1; }
.language-selector .text-left { text-align: left; }
.language-selector .font-medium { font-weight: 500; }
.language-selector .text-slate-700 { color: #334155; }
.language-selector .text-xl { font-size: 1.25rem; line-height: 1; }
.language-selector .w-full { width: 100%; }
.language-selector .px-4 { padding-left: 1rem; padding-right: 1rem; }
.language-selector .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.language-selector .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.language-selector .absolute { position: absolute; }
.language-selector .relative { position: relative; }
.language-selector .right-0 { right: 0; }
.language-selector .mt-2 { margin-top: 0.5rem; }
.language-selector .rounded-xl { border-radius: 0.75rem; }
.language-selector .shadow-lg { box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); }
.language-selector .border { border: 1px solid #e2e8f0; }
.language-selector .border-slate-200 { border-color: #e2e8f0; }
.language-selector .bg-white { background-color: #fff; }
/* Ne pas appliquer overflow:hidden au panneau #lang-dropdown (classe Tailwind du script Boukar) */
.language-selector .overflow-hidden:not(#lang-dropdown) { overflow: hidden; }
.language-selector .z-50,
#lang-dropdown.z-50 { z-index: 1100 !important; }
.language-selector .opacity-0 { opacity: 0; }
.language-selector .opacity-100 { opacity: 1; }
.language-selector .invisible { visibility: hidden; }
.language-selector .visible { visibility: visible; }
.language-selector .translate-y-2 { transform: translateY(0.5rem); }
.language-selector .translate-y-0 { transform: translateY(0); }

#translation-loader .border-accent {
    border-color: #0f488e !important;
}

.rtl-mode .navbar-nav {
    direction: rtl;
}

.rtl-mode .dropdown-menu {
    text-align: right;
}

/* Sélecteur mobile (navbar blanche) */
.language-selector--mobile {
    z-index: 1100;
}

.language-selector--mobile .lang-btn-trigger {
    border-color: rgba(15, 72, 142, 0.35) !important;
    background: rgba(15, 72, 142, 0.06) !important;
    color: #0f488e !important;
}

.language-selector--mobile .lang-btn-trigger .text-slate-700 {
    color: #0f488e !important;
}

.language-selector--mobile .lang-dropdown-panel {
    top: 100% !important;
    bottom: auto !important;
    margin-top: 0.35rem !important;
    z-index: 1100 !important;
}

.navbar.sticky-top {
    overflow: visible;
}

