/* ============================================================
   BRAVORA — Styles Public (Indeed Inspired)
   Compatibles Astra + Elementor (préfixe .bravora- isolé)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap');

/* ─── Variables globales (:root) ─────────────────── */
/* Définies aussi sur :root pour que les éléments hors .bravora-wrap
   (modale, overlays) aient accès aux mêmes valeurs. */
:root {
  --bravora-primary:       #2557A7;
  --bravora-primary-hover: #1C4180;
  --bravora-accent:        #E8A020;
  --bravora-success:       #12805C;
  --bravora-danger:        #D11124;
  --bravora-warning:       #F59E0B;
  --bravora-info:          #2557A7;
  --bravora-bg:            #F3F2F1;
  --bravora-card:          #FFFFFF;
  --bravora-text:          #2D2D2D;
  --bravora-text-muted:    #595959;
  --bravora-border:        #E4E2E0;
  --bravora-border-hover:  #989898;
  --bravora-radius:        8px;
  --bravora-radius-sm:     8px;
  --bravora-shadow:        0 4px 6px rgba(0,0,0,0.08);
  --bravora-shadow-sm:     0 2px 4px rgba(0,0,0,0.04);
  --bravora-font:          'Noto Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
}

/* ─── Variables ──────────────────────────────────────────── */
.bravora-wrap {
  --bravora-primary:      #2557A7; /* Indeed Blue */
  --bravora-primary-hover:#1C4180;
  --bravora-accent:       #E8A020; /* Keeping accent for some touches, or #2557a7 */
  --bravora-success:      #12805C;
  --bravora-danger:       #D11124;
  --bravora-warning:      #F59E0B;
  --bravora-info:         #2557A7;
  --bravora-bg:           #F3F2F1; /* Indeed light gray background */
  --bravora-card:         #FFFFFF;
  --bravora-text:         #2D2D2D; /* Indeed main text */
  --bravora-text-muted:   #595959; /* Indeed secondary text */
  --bravora-border:       #E4E2E0; /* Indeed border */
  --bravora-border-hover: #989898;
  --bravora-radius:       8px;
  --bravora-radius-sm:    8px;
  --bravora-shadow:       0 4px 6px rgba(0, 0, 0, 0.08); /* Softer shadows */
  --bravora-shadow-sm:    0 2px 4px rgba(0, 0, 0, 0.04);
  --bravora-font:         'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  
  font-family: var(--bravora-font);
  color: var(--bravora-text);
  line-height: 1.5;
}

/* ─── Alertes / Notices ──────────────────────────────────── */
.bravora-alert {
  padding: 16px;
  border-radius: var(--bravora-radius-sm);
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--bravora-font);
  border-left: 4px solid transparent;
}
.bravora-alert--success { background: #E6F3EE; color: #12805C; border-color: #12805C; }
.bravora-alert--error   { background: #FCEDEE; color: #D11124; border-color: #D11124; }
.bravora-alert--warning { background: #FFF4E5; color: #9A6000; border-color: #F59E0B; }
.bravora-alert--info    { background: #E8F0FC; color: #2557A7; border-color: #2557A7; }

/* ─── Badges ─────────────────────────────────────────────── */
.bravora-badge {
  display: inline-flex; align-items: center;
  padding: 4px 8px; border-radius: 4px;
  font-size: 12px; font-weight: 700; line-height: 1.2;
  font-family: var(--bravora-font);
  background: #F3F2F1; color: #595959;
}
.bravora-badge--success { background: #E6F3EE; color: #12805C; }
.bravora-badge--danger  { background: #FCEDEE; color: #D11124; }
.bravora-badge--warning { background: #FFF4E5; color: #9A6000; }
.bravora-badge--info    { background: #E8F0FC; color: #2557A7; }
.bravora-badge--muted   { background: #F3F2F1; color: #595959; }

/* ─── Boutons ─────────────────────────────────────── */
.bravora-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  border-radius: var(--bravora-radius-sm) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s !important;
  line-height: 1.5 !important;
  font-family: var(--bravora-font) !important;
  box-sizing: border-box !important;
}
.bravora-btn:focus-visible { outline: 2px solid #2557A7; outline-offset: 2px; }

/* Bouton principal (rempli bleu) */
.bravora-btn--primary {
  background: #2557A7 !important;
  color: #FFFFFF !important;
  border-color: #2557A7 !important;
}
.bravora-btn--primary:hover {
  background: #1C4180 !important;
  color: #FFFFFF !important;
  border-color: #1C4180 !important;
  text-decoration: none !important;
}

/* Bouton accent (contouré) — rendu visible sur tous les fonds */
.bravora-btn--accent {
  background: #FFFFFF !important;
  color: #2557A7 !important;
  border-color: #2557A7 !important;
}
.bravora-btn--accent:hover {
  background: #2557A7 !important;
  color: #FFFFFF !important;
  border-color: #2557A7 !important;
  text-decoration: none !important;
}

/* Bouton outline (gris bordé) */
.bravora-btn--outline {
  background: #FFFFFF !important;
  color: #2D2D2D !important;
  border-color: #989898 !important;
}
.bravora-btn--outline:hover {
  background: #F3F2F1 !important;
  color: #2D2D2D !important;
  border-color: #2D2D2D !important;
  text-decoration: none !important;
}

/* Bouton danger */
.bravora-btn--danger {
  background: #D11124 !important;
  color: #FFFFFF !important;
  border-color: #D11124 !important;
}
.bravora-btn--danger:hover {
  background: #A30D1C !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* Bouton Google OAuth */
.bravora-btn--google {
  border: 1px solid var(--bravora-border-hover);
  justify-content: center;
  font-weight: 600;
}
.bravora-btn--google:hover {
  background: #F8F9FA;
  border-color: var(--bravora-text);
}
.bravora-btn--google svg { width: 20px; height: 20px; }

/* ─── Formulaires ────────────────────────────────────────── */
.bravora-form-group { margin-bottom: 24px; text-align: left; }
.bravora-form-label {
  display: block; font-size: 14px; font-weight: 700;
  color: var(--bravora-text); margin-bottom: 8px;
  font-family: var(--bravora-font);
}
.bravora-form-label .required { color: var(--bravora-danger); margin-left: 4px; }

.bravora-form-control {
  width: 100%; padding: 12px 16px;
  border: 1px solid var(--bravora-text);
  border-radius: var(--bravora-radius-sm);
  font-family: var(--bravora-font); font-size: 16px;
  color: var(--bravora-text); background: var(--bravora-card);
  transition: box-shadow 0.2s, border-color 0.2s; outline: none;
  box-sizing: border-box;
}
.bravora-form-control:focus { border-color: var(--bravora-primary); box-shadow: 0 0 0 2px var(--bravora-primary); }
.bravora-form-control:hover:not(:focus) { border-color: var(--bravora-primary); }
.bravora-form-control::placeholder { color: #595959; font-weight: 400; }
textarea.bravora-form-control { min-height: 120px; resize: vertical; }

select.bravora-form-control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D2D2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  padding-right: 40px;
}

.bravora-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 600px) { .bravora-form-row { grid-template-columns: 1fr; gap: 16px; } }

.bravora-form-checkbox {
  display: flex; align-items: flex-start; gap: 12px;
  cursor: pointer; font-size: 14px; color: var(--bravora-text);
  font-family: var(--bravora-font);
}
.bravora-form-checkbox input[type="checkbox"] { 
  margin-top: 3px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--bravora-primary); 
}

/* ─── Card ───────────────────────────────────────────────── */
.bravora-card {
  background: var(--bravora-card);
  border-radius: var(--bravora-radius);
  border: 1px solid var(--bravora-border);
  overflow: hidden;
  box-shadow: none; /* Indeed cards are usually flat with simple borders */
}
.bravora-card__header {
  padding: 24px;
  border-bottom: 1px solid var(--bravora-border);
  display: flex; align-items: center; justify-content: space-between;
}
.bravora-card__title { font-size: 20px; font-weight: 700; color: var(--bravora-text); margin: 0; }
.bravora-card__body { padding: 24px; }

/* ─── KPIs Dashboard ─────────────────────────────────────── */
.bravora-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px; margin-bottom: 32px;
}
.bravora-kpi-card {
  background: var(--bravora-card);
  border-radius: var(--bravora-radius); padding: 24px;
  border: 1px solid var(--bravora-border);
  text-align: left; display: flex; flex-direction: column; gap: 8px;
}
.bravora-kpi-card__value { font-size: 28px; font-weight: 700; color: var(--bravora-text); }
.bravora-kpi-card__label { font-size: 14px; color: var(--bravora-text-muted); font-weight: 600; }

/* ─── Liste d'offres ─────────────────────────────────────── */
.bravora-jobs-wrap { max-width: 900px; margin: 0 auto; padding: 20px 0; }
.bravora-jobs-filters {
  background: var(--bravora-card); border-radius: var(--bravora-radius);
  padding: 24px; margin-bottom: 24px; border: 1px solid var(--bravora-border);
  display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end;
}
.bravora-jobs-filters .bravora-form-group { margin-bottom: 0; flex: 1; min-width: 200px; }

.bravora-jobs-grid { display: flex; flex-direction: column; gap: 12px; }

.bravora-job-card {
  background: var(--bravora-card);
  border-radius: var(--bravora-radius); padding: 20px;
  border: 1px solid var(--bravora-border);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  cursor: pointer;
}
.bravora-job-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border: 1px solid #989898;
}
.bravora-job-card__body { min-width: 0; flex: 1; }
.bravora-job-card__title { font-size: 18px; font-weight: 700; color: var(--bravora-text); margin-bottom: 4px; line-height: 1.2; text-decoration: underline; text-decoration-color: transparent; }
.bravora-job-card:hover .bravora-job-card__title { text-decoration-color: var(--bravora-text); }
.bravora-job-card__company { font-size: 14px; color: var(--bravora-text); margin-bottom: 12px; }
.bravora-job-card__meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
}
.bravora-job-card__meta-badge {
  background: #F3F2F1; color: #595959; font-size: 13px; font-weight: 700; padding: 4px 8px; border-radius: 4px;
}
.bravora-job-card__side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.bravora-job-card__date { font-size: 13px; color: var(--bravora-text-muted); white-space: nowrap; }

/* ─── Pagination ─────────────────────────────────────────── */
.bravora-pagination {
  display: flex; align-items: center; justify-content: flex-start;
  gap: 8px; padding: 32px 0;
}
.bravora-pagination a, .bravora-pagination span {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  border-radius: var(--bravora-radius-sm); font-size: 16px; font-weight: 600; text-decoration: none;
  transition: all 0.2s; color: var(--bravora-text); border: 1px solid var(--bravora-border);
}
.bravora-pagination a:hover { background: #F3F2F1; border-color: var(--bravora-text); }
.bravora-pagination span.current { background: var(--bravora-text); color: #FFFFFF; border-color: var(--bravora-text); }

/* ─── Page offre unique ──────────────────────────────────── */
.bravora-job-single { max-width: 860px; margin: 0 auto; padding-top: 20px;}
.bravora-job-single__header {
  background: var(--bravora-card); border-radius: var(--bravora-radius);
  padding: 32px; margin-bottom: 24px; border: 1px solid var(--bravora-border);
}
.bravora-job-single__title { font-size: 28px; font-weight: 700; color: var(--bravora-text); margin-bottom: 12px; line-height: 1.2; }
.bravora-job-single__meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }

/* ─── Formulaires Auth ───────────────────────────────────── */
.bravora-auth-wrap { max-width: 640px; margin: 0 auto; padding: 40px 20px; }
.bravora-auth-card {
  background: var(--bravora-card); border-radius: var(--bravora-radius);
  padding: 40px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); border: 1px solid var(--bravora-border);
  box-sizing: border-box;
}
/* Formulaire inscription : colonne unique pour que tous les textes soient lisibles */
.bravora-auth-card .bravora-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
/* Aucun select ne doit avoir du texte tronqué dans un contexte auth */
.bravora-auth-card select.bravora-form-control {
  padding-right: 36px;   /* réduit vs 40px générique */
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
/* Titre avant les sélecteurs de géographie */
.bravora-auth-card .bravora-form-group {
  margin-bottom: 20px;
}
.bravora-auth-header { text-align: left; margin-bottom: 32px; }
.bravora-auth-logo { display: none; } /* On cache le gros logo carré, on préfère un titre pur */
.bravora-auth-title { font-size: 28px; font-weight: 700; color: var(--bravora-text); margin-bottom: 8px; }
.bravora-auth-subtitle { font-size: 16px; color: var(--bravora-text); margin-top: 4px; font-weight: 400; }
.bravora-divider {
  display: flex; align-items: center; text-align: center; margin: 24px 0; color: #595959; font-size: 14px;
}
.bravora-divider::before, .bravora-divider::after {
  content: ''; flex: 1; border-bottom: 1px solid var(--bravora-border);
}
.bravora-divider::before { margin-right: 16px; }
.bravora-divider::after { margin-left: 16px; }

/* ─── Tableaux Dashboard ─────────────────────────────────── */
.bravora-table-wrap { overflow-x: auto; border: 1px solid var(--bravora-border); border-radius: var(--bravora-radius); }
.bravora-table { width: 100%; border-collapse: collapse; font-size: 14px; font-family: var(--bravora-font); background: var(--bravora-card); }
.bravora-table thead tr { background: #FFFFFF; border-bottom: 2px solid var(--bravora-text); }
.bravora-table th { padding: 16px; text-align: left; font-size: 14px; font-weight: 700; color: var(--bravora-text); }
.bravora-table td { padding: 16px; border-bottom: 1px solid var(--bravora-border); color: var(--bravora-text); vertical-align: middle; }
.bravora-table tbody tr:last-child td { border-bottom: none; }
.bravora-table tbody tr:hover td { background: #F8F9FA; }

/* ─── Tabs ───────────────────────────────────────────────── */
.bravora-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--bravora-border); margin-bottom: 32px; overflow-x: auto;}
.bravora-tab {
  padding: 12px 16px; font-size: 16px; font-weight: 600;
  color: var(--bravora-text-muted); cursor: pointer; border: none; background: none;
  border-bottom: 3px solid transparent; margin-bottom: -1px;
  transition: all 0.2s; font-family: var(--bravora-font); white-space: nowrap;
}
.bravora-tab:hover { color: var(--bravora-text); }
.bravora-tab.active { color: var(--bravora-text); border-bottom-color: var(--bravora-primary); }
.bravora-tab-pane { display: none; }
.bravora-tab-pane.active { display: block; }

/* ─── Spinner ────────────────────────────────────────────── */
.bravora-spinner {
  display: inline-block; width: 24px; height: 24px;
  border: 3px solid rgba(255,255,255,0.3); border-top-color: #FFFFFF;
  border-radius: 50%; animation: bravora-spin 0.8s linear infinite;
}
.bravora-btn--outline .bravora-spinner {
  border: 3px solid var(--bravora-border); border-top-color: var(--bravora-primary);
}
@keyframes bravora-spin { to { transform: rotate(360deg); } }

/* ─── Modal ──────────────────────────────────────────────── */
.bravora-modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.6);
  z-index: 9999; display: flex; align-items: center; justify-content: center;
}
.bravora-modal {
  background: var(--bravora-card); border-radius: var(--bravora-radius);
  padding: 40px; width: 100%; max-width: 600px; max-height: 90vh;
  overflow-y: auto; box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  position: relative;
}
.bravora-modal__close {
  position: absolute; top: 20px; right: 20px;
  width: 40px; height: 40px; background: transparent;
  border-radius: 50%; border: none; cursor: pointer;
  font-size: 20px; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s; color: var(--bravora-text-muted);
}
.bravora-modal__close:hover { background: var(--bravora-bg); color: var(--bravora-text); }

/* ─── Responsive tablette (≤768px) ───────────────────── */
@media (max-width: 768px) {
  .bravora-auth-wrap { padding: 20px 12px 32px; }
  .bravora-auth-card { padding: 28px 20px; }
  .bravora-job-card { flex-direction: column; gap: 12px; }
  .bravora-job-card__side { align-items: flex-start; }
  .bravora-job-single__header { padding: 24px 16px; }
  .bravora-kpi-grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
  .bravora-table-wrap { border-radius: 0; border-left: none; border-right: none; }
}

/* ─── Responsive mobile (≤480px) ────────────────────── */
@media (max-width: 480px) {
  /* Auth card : plein écran sans bordures latérales */
  .bravora-auth-wrap { padding: 0 0 24px; }
  .bravora-auth-card {
    padding: 24px 16px;
    box-shadow: none;
    border-left: none; border-right: none;
    border-radius: 0;
  }
  .bravora-auth-title { font-size: 22px; }
  /* Évite le zoom auto iOS sur les champs */
  .bravora-form-control, select.bravora-form-control { font-size: 16px !important; }
  /* KPIs en 2 colonnes compactes */
  .bravora-kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bravora-kpi-card { padding: 16px 12px; }
  .bravora-kpi-card__value { font-size: 22px; }
  /* Boutons pleine largeur sur mobile */
  .bravora-btn--full { width: 100%; }
  /* Tableaux scrollables */
  .bravora-table { font-size: 13px; }
  .bravora-table th, .bravora-table td { padding: 10px 8px; }
  /* Job cards */
  .bravora-jobs-filters { flex-direction: column; }
  .bravora-jobs-filters .bravora-form-group { min-width: 100%; }
}



/* ==========================================================================
   Bravora 2026 - Premium Job Listings Page
   ========================================================================== */

/* --- Hero Search Premium --- */
.bravora-hero-search-premium {
  background: #FFFFFF;
  border-radius: 100px;
  padding: 8px 12px;
  margin-bottom: 32px;
  box-shadow: 0 10px 30px rgba(95, 92, 168, 0.08);
  border: 1px solid rgba(95, 92, 168, 0.1);
}
.bravora-hero-search-premium__inner {
  display: flex;
  align-items: center;
}
.bravora-hero-search-premium__field {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 0 16px;
  position: relative;
}
.bravora-hero-search-premium__icon {
  width: 20px;
  height: 20px;
  color: #5F5CA8;
  margin-right: 12px;
}
.bravora-hero-search-premium__input {
  border: none;
  background: transparent;
  padding: 12px 0;
  width: 100%;
  font-size: 15px;
  color: var(--bravora-text);
  outline: none;
  box-shadow: none;
  margin: 0;
}
.bravora-hero-search-premium__input:focus {
  border: none;
  box-shadow: none;
  outline: none;
}
.bravora-hero-search-premium__divider {
  width: 1px;
  height: 32px;
  background: #E2E8F0;
  margin: 0 8px;
}
.bravora-hero-search-premium__btn {
  background: #5F5CA8;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 14px 32px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(95, 92, 168, 0.3);
}
.bravora-hero-search-premium__btn:hover {
  background: #4A4890;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(95, 92, 168, 0.4);
}

/* --- Layout --- */
.bravora-jobs-layout-premium {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
.bravora-jobs-sidebar-premium {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bravora-jobs-main-premium {
  flex: 1;
  min-width: 0;
}

/* --- Sidebar Filters Premium --- */
.bravora-filter-block-premium {
  background: #FFFFFF;
  padding: 24px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03);
  border: 1px solid rgba(226, 232, 240, 0.6);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bravora-filter-block-premium__title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #475569;
  margin: 0;
}
.bravora-select-wrapper {
  position: relative;
}
.bravora-form-control-premium {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding: 12px 40px 12px 16px;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  background: #F8FAFC;
  font-size: 14px;
  color: #1E293B;
  transition: all 0.2s ease;
  cursor: pointer;
  outline: none;
}
.bravora-form-control-premium:focus, .bravora-form-control-premium:hover {
  border-color: #5F5CA8;
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(95, 92, 168, 0.1);
}
.bravora-select-caret {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #64748B;
  pointer-events: none;
}

/* --- Job Cards Premium --- */
.bravora-jobs-grid-premium {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.bravora-job-card-premium {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  gap: 24px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.03);
  border: 1px solid rgba(226, 232, 240, 0.6);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.bravora-job-card-premium:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(95, 92, 168, 0.12);
  border-color: rgba(95, 92, 168, 0.3);
}
.bravora-job-card-premium::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 4px;
  background: #5F5CA8;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.bravora-job-card-premium:hover::before {
  opacity: 1;
}

.bravora-job-card-premium__logo {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: linear-gradient(135deg, #E8E7F4 0%, #D1CFE8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  color: #5F5CA8;
  flex-shrink: 0;
}
.bravora-job-card-premium__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bravora-job-card-premium__header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bravora-job-card-premium__title {
  font-size: 18px;
  font-weight: 700;
  color: #1E293B;
  margin: 0;
  line-height: 1.3;
}
.bravora-job-card-premium__company {
  font-size: 14px;
  color: #64748B;
  font-weight: 500;
}

.bravora-job-card-premium__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bravora-job-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
}
.bravora-job-badge__icon {
  width: 14px;
  height: 14px;
}
.bravora-job-badge--location {
  background: #F1F5F9;
  color: #475569;
}
.bravora-job-badge--contract {
  background: #E8E7F4;
  color: #5F5CA8;
}
.bravora-job-badge--exp {
  background: #ECFDF5;
  color: #059669;
}

.bravora-job-card-premium__excerpt {
  font-size: 14px;
  color: #64748B;
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bravora-job-card-premium__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  flex-shrink: 0;
}
.bravora-job-card-premium__date {
  font-size: 12px;
  color: #94A3B8;
}
.bravora-job-card-premium__btn {
  padding: 10px 20px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.bravora-job-card-premium__btn i {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}
.bravora-job-card-premium:hover .bravora-job-card-premium__btn i {
  transform: translateX(4px);
}

/* --- Pagination --- */
.bravora-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.bravora-pagination span, .bravora-pagination a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.bravora-pagination a {
  background: #FFFFFF;
  color: #64748B;
  border: 1px solid #E2E8F0;
}
.bravora-pagination a:hover {
  background: #F8FAFC;
  color: #5F5CA8;
  border-color: #5F5CA8;
}
.bravora-pagination span.current {
  background: #5F5CA8;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(95, 92, 168, 0.3);
}

/* --- Responsive Design --- */
@media (max-width: 992px) {
  .bravora-jobs-layout-premium {
    flex-direction: column;
  }
  .bravora-jobs-sidebar-premium {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .bravora-filter-block-premium {
    flex: 1;
    min-width: 200px;
  }
}

@media (max-width: 768px) {
  .bravora-hero-search-premium {
    border-radius: 20px;
    padding: 16px;
  }
  .bravora-hero-search-premium__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .bravora-hero-search-premium__divider {
    width: 100%;
    height: 1px;
    margin: 0;
  }
  .bravora-hero-search-premium__btn {
    width: 100%;
    margin-top: 8px;
  }
  
  .bravora-job-card-premium {
    flex-direction: column;
    padding: 20px;
  }
  .bravora-job-card-premium__actions {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #F1F5F9;
  }
}

/* ==========================================================================
   Bravora - Menu Navigation Dynamique
   ========================================================================== */
.bravora-nav-item.bravora-nav-dashboard > a,
.bravora-nav-item.bravora-nav-account > a {
    font-weight: 700 !important;
}

.bravora-nav-sub-item.bravora-nav-logout > a {
    color: var(--bravora-danger) !important;
}
.bravora-nav-sub-item.bravora-nav-publish > a {
    color: var(--bravora-primary) !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) {
  .bravora-nav-mobile-public-item > a {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .bravora-nav-mobile-private-start {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--bravora-border) !important;
  }

  .bravora-nav-mobile-private-start > a {
    font-weight: 700 !important;
  }

  .bravora-nav-mobile-private-item > a {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
}

/* ==========================================================================
   Bravora - Shortcode Mobile Menu Drawer
   ========================================================================== */
body.bravora-mobile-nav-open {
  overflow: hidden;
}

body.bravora-has-mobile-shortcode {
  overflow-x: hidden;
}

.bravora-mobile-nav-shortcode {
  position: relative;
  z-index: 1200;
}

@media (min-width: 769px) {
  .bravora-mobile-nav-shortcode {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .bravora-mobile-nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--bravora-border);
    background: #fff;
    color: var(--bravora-text);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
  }

  .bravora-mobile-nav-toggle__icon,
  .bravora-mobile-nav-toggle__icon::before,
  .bravora-mobile-nav-toggle__icon::after {
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    background: var(--bravora-text);
    border-radius: 2px;
    transition: transform .2s ease, opacity .2s ease;
  }

  .bravora-mobile-nav-toggle__icon {
    position: relative;
  }

  .bravora-mobile-nav-toggle__icon::before {
    position: absolute;
    left: 0;
    top: -6px;
  }

  .bravora-mobile-nav-toggle__icon::after {
    position: absolute;
    left: 0;
    top: 6px;
  }

  .bravora-mobile-nav-shortcode.is-open .bravora-mobile-nav-toggle__icon {
    background: transparent;
  }

  .bravora-mobile-nav-shortcode.is-open .bravora-mobile-nav-toggle__icon::before {
    transform: translateY(6px) rotate(45deg);
  }

  .bravora-mobile-nav-shortcode.is-open .bravora-mobile-nav-toggle__icon::after {
    transform: translateY(-6px) rotate(-45deg);
  }

  .bravora-mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    z-index: 1201;
  }

  .bravora-mobile-nav-overlay[hidden] {
    display: none !important;
  }

  .bravora-mobile-nav-panel {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    height: 100dvh;
    width: min(84vw, 320px);
    max-width: calc(100vw - 12px);
    background: #fff;
    box-shadow: -8px 0 24px rgba(2, 6, 23, 0.18);
    z-index: 1202;
    transform: translate3d(100%, 0, 0);
    transition: transform .22s ease;
    display: flex;
    flex-direction: column;
    pointer-events: none;
    will-change: transform;
  }

  .bravora-mobile-nav-shortcode.is-open .bravora-mobile-nav-panel {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .bravora-mobile-nav-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--bravora-border);
  }

  .bravora-mobile-nav-panel__title {
    font-size: 16px;
    line-height: 1.2;
    color: var(--bravora-text);
  }

  .bravora-mobile-nav-close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--bravora-border);
    border-radius: 8px;
    background: #fff;
    color: var(--bravora-text);
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    text-align: center;
    cursor: pointer;
  }

  .bravora-mobile-nav-panel__content {
    overflow-y: auto;
    padding: 6px 0 14px;
  }

  .bravora-mobile-nav-list,
  .bravora-mobile-nav-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .bravora-mobile-nav-list > li > a {
    display: block;
    padding: 13px 16px;
    color: var(--bravora-text);
    text-decoration: none;
    border-bottom: 1px solid #edf1f5;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
  }

  .bravora-mobile-nav-list > li:last-child > a {
    border-bottom: 1px solid #edf1f5;
  }

  .bravora-mobile-nav-list .sub-menu > li > a {
    display: block;
    padding: 10px 16px 10px 30px;
    color: var(--bravora-text-muted);
    text-decoration: none;
    border-bottom: 1px solid #f4f6f8;
    font-size: 14px;
    line-height: 1.35;
  }
}
