/* Pont Numerique — Premium Dark/Gold Theme
   Override institutionnel -> noir/or premium
   Background #0F1118 | Cards #1A1B22 | Gold #C9A84C | Cartier, pas Las Vegas */

/* === VARIABLES OVERRIDE === */
:root {
  --bleu-republique: #C9A84C;
  --rouge-marianne: #C9A84C;
  --bleu-clair: #E0CC8A;
  --bleu-survol: #E0CC8A;
  --gris-fond: #14151D;
  --gris-bordure: rgba(201,168,76,0.15);
  --gris-texte: #E8E4DC;
  --gris-secondaire: #8A8678;
  --blanc: #1A1B22;
  --vert-succes: #4CAF50;
  --orange-attention: #E0A030;
  --rouge-alerte: #D44;
  --jaune-info: #C9A84C;
  --shadow: 0 2px 8px rgba(0,0,0,0.3);
  --shadow-hover: 0 6px 20px rgba(201,168,76,0.12);
}

/* === BODY === */
body {
  background: #0F1118 !important;
  color: #E8E4DC !important;
}

/* === HEADER === */
.rf-header {
  background: #12131A !important;
  border-bottom: 1px solid rgba(201,168,76,0.25) !important;
}

.rf-header__top {
  border-bottom-color: rgba(201,168,76,0.1) !important;
}

.rf-header__logo {
  color: #C9A84C !important;
}

.rf-header__logo-tricolor {
  background: linear-gradient(to bottom, #C9A84C 33%, #1A1B22 33%, #1A1B22 66%, #E0CC8A 66%) !important;
}

.rf-header__logo-rf {
  color: #C9A84C !important;
}

.rf-header__logo-devise {
  color: #8A8678 !important;
}

.rf-header__service-title {
  color: #C9A84C !important;
}

.rf-header__service-sub {
  color: #8A8678 !important;
}

.rf-header__nav a {
  color: #E0CC8A !important;
  border-color: rgba(201,168,76,0.2) !important;
  background: transparent !important;
}

.rf-header__nav a:hover {
  background: rgba(201,168,76,0.08) !important;
  border-color: #C9A84C !important;
}

.rf-header__nav a.active {
  background: #C9A84C !important;
  color: #0F1118 !important;
  border-color: #C9A84C !important;
}

/* === CARDS === */
.rf-card {
  background: #1A1B22 !important;
  border-color: rgba(201,168,76,0.15) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

.rf-card:hover {
  box-shadow: 0 6px 20px rgba(201,168,76,0.1) !important;
  border-color: rgba(201,168,76,0.3) !important;
}

.rf-card__title {
  color: #C9A84C !important;
  border-bottom-color: rgba(201,168,76,0.12) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 16px;
}

/* === KPI === */
.rf-kpi {
  background: #1A1B22 !important;
  border-color: rgba(201,168,76,0.15) !important;
  border-left-color: #C9A84C !important;
}

.rf-kpi--rouge { border-left-color: #D44 !important; }
.rf-kpi--vert { border-left-color: #4CAF50 !important; }
.rf-kpi--orange { border-left-color: #E0A030 !important; }

.rf-kpi__value {
  color: #C9A84C !important;
}

.rf-kpi--rouge .rf-kpi__value { color: #D44 !important; }
.rf-kpi--vert .rf-kpi__value { color: #4CAF50 !important; }
.rf-kpi--orange .rf-kpi__value { color: #E0A030 !important; }

.rf-kpi__label {
  color: #8A8678 !important;
}

/* === BUTTONS === */
.rf-btn--primary {
  background: #C9A84C !important;
  color: #0F1118 !important;
  font-weight: 700 !important;
}

.rf-btn--primary:hover {
  background: #E0CC8A !important;
  color: #0F1118 !important;
}

.rf-btn--secondary {
  background: transparent !important;
  color: #C9A84C !important;
  border: 1px solid #C9A84C !important;
}

.rf-btn--secondary:hover {
  background: rgba(201,168,76,0.1) !important;
}

.rf-btn--danger {
  background: rgba(204,68,68,0.15) !important;
  color: #D44 !important;
  border: 1px solid rgba(204,68,68,0.3) !important;
}

.rf-btn--danger:hover {
  background: rgba(204,68,68,0.25) !important;
}

.rf-btn--success {
  background: rgba(76,175,80,0.15) !important;
  color: #4CAF50 !important;
  border: 1px solid rgba(76,175,80,0.3) !important;
}

.rf-btn--success:hover {
  background: rgba(76,175,80,0.25) !important;
}

/* === TABLES === */
.rf-table th {
  background: #14151D !important;
  color: #C9A84C !important;
  border-bottom: 2px solid rgba(201,168,76,0.3) !important;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 11px;
}

.rf-table td {
  color: #E8E4DC !important;
  border-bottom-color: rgba(201,168,76,0.08) !important;
}

.rf-table tbody tr:hover {
  background: rgba(201,168,76,0.04) !important;
}

/* === BADGES === */
.rf-badge--success {
  background: rgba(76,175,80,0.1) !important;
  color: #4CAF50 !important;
}

.rf-badge--warning {
  background: rgba(224,160,48,0.1) !important;
  color: #E0A030 !important;
}

.rf-badge--danger {
  background: rgba(204,68,68,0.1) !important;
  color: #D44 !important;
}

.rf-badge--info {
  background: rgba(201,168,76,0.1) !important;
  color: #C9A84C !important;
}

.rf-badge--neutral {
  background: rgba(138,134,120,0.12) !important;
  color: #8A8678 !important;
}

/* === FORMS === */
.rf-label {
  color: #8A8678 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 11px !important;
}

.rf-input, .rf-select, .rf-textarea {
  background: #14151D !important;
  color: #E8E4DC !important;
  border-color: rgba(201,168,76,0.2) !important;
}

.rf-input:focus, .rf-select:focus, .rf-textarea:focus {
  border-color: #C9A84C !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15) !important;
}

.rf-input::placeholder, .rf-textarea::placeholder {
  color: #5A5850 !important;
}

/* === TABS === */
.rf-tabs {
  border-bottom-color: rgba(201,168,76,0.15) !important;
}

.rf-tab {
  color: #8A8678 !important;
}

.rf-tab:hover {
  color: #E0CC8A !important;
}

.rf-tab.active {
  color: #C9A84C !important;
}

.rf-tab.active::after {
  background: #C9A84C !important;
}

/* === ALERTS === */
.rf-alert--info {
  background: rgba(201,168,76,0.06) !important;
  border-left-color: #C9A84C !important;
  color: #E8E4DC !important;
}

.rf-alert--warning {
  background: rgba(224,160,48,0.06) !important;
  border-left-color: #E0A030 !important;
  color: #E8E4DC !important;
}

.rf-alert--danger {
  background: rgba(204,68,68,0.06) !important;
  border-left-color: #D44 !important;
  color: #E8E4DC !important;
}

.rf-alert--success {
  background: rgba(76,175,80,0.06) !important;
  border-left-color: #4CAF50 !important;
  color: #E8E4DC !important;
}

.rf-alert__title {
  color: #E8E4DC !important;
}

/* === PROGRESS BAR === */
.rf-progress {
  background: rgba(201,168,76,0.08) !important;
}

.rf-progress__bar--bleu { background: #C9A84C !important; }
.rf-progress__bar--vert { background: #4CAF50 !important; }
.rf-progress__bar--orange { background: #E0A030 !important; }
.rf-progress__bar--rouge { background: #D44 !important; }

/* === ENTRY CARDS (Landing) === */
.rf-entry {
  background: #1A1B22 !important;
  border: 2px solid rgba(201,168,76,0.12) !important;
}

.rf-entry:hover {
  border-color: #C9A84C !important;
  box-shadow: 0 8px 24px rgba(201,168,76,0.1) !important;
}

.rf-entry__title {
  color: #C9A84C !important;
}

.rf-entry__desc {
  color: #8A8678 !important;
}

/* === MAP === */
.rf-map {
  background: #14151D !important;
  border-color: rgba(201,168,76,0.15) !important;
}

/* === FEED === */
.rf-feed__item {
  border-bottom-color: rgba(201,168,76,0.08) !important;
}

.rf-feed__dot {
  background: #C9A84C !important;
}

.rf-feed__dot--rouge { background: #D44 !important; }
.rf-feed__dot--vert { background: #4CAF50 !important; }
.rf-feed__dot--orange { background: #E0A030 !important; }

.rf-feed__text {
  color: #E8E4DC !important;
}

.rf-feed__meta {
  color: #8A8678 !important;
}

/* === OVERLAY (Password) === */
.rf-overlay {
  background: rgba(15,17,24,0.97) !important;
}

.rf-overlay__box {
  background: #1A1B22 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
}

.rf-overlay__box h2 {
  color: #C9A84C !important;
}

.rf-overlay__box p {
  color: #8A8678 !important;
}

.rf-overlay__box .rf-error {
  color: #D44 !important;
}

/* === FOOTER === */
.rf-footer {
  background: #12131A !important;
  border-top-color: rgba(201,168,76,0.1) !important;
  color: #8A8678 !important;
}

.rf-footer a {
  color: #C9A84C !important;
}

/* === INLINE STYLES OVERRIDES === */
/* Hero sections often use inline bg via CSS vars */
.hero {
  background: linear-gradient(180deg, #14151D 0%, #0F1118 100%) !important;
}

.hero h1 {
  color: #C9A84C !important;
}

.hero p {
  color: #8A8678 !important;
}

/* Stat bar (landing page) */
.stat-bar {
  background: #14151D !important;
  border-top: 1px solid rgba(201,168,76,0.15);
  border-bottom: 1px solid rgba(201,168,76,0.15);
}

.stat-bar strong, .stat-bar .stat-value {
  color: #C9A84C !important;
}

/* === SECTION TITLES (generic) === */
h1, h2, h3 {
  color: #E8E4DC !important;
}

h1 {
  color: #C9A84C !important;
}

/* Section headers with gold accent */
.rf-card__title,
.section-title,
[class*="title"] h2 {
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* === LINKS === */
a {
  color: #C9A84C;
}

a:hover {
  color: #E0CC8A;
}

/* === SCROLLBAR (Webkit) === */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0F1118;
}

::-webkit-scrollbar-thumb {
  background: rgba(201,168,76,0.2);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(201,168,76,0.35);
}

/* === SELECTION === */
::selection {
  background: rgba(201,168,76,0.25);
  color: #E8E4DC;
}

/* === RESPONSIVE — keep dark on mobile === */
@media (max-width: 768px) {
  .stat-bar {
    flex-direction: column;
    gap: 16px !important;
  }
}
