/* Bourgogne-Franche-Comté theme */
:root{
  --primary-color: #00682B; /* vert */
  --secondary-color: #D2D700; /* jaune */
  --accent-color: #832f70; /* violet */
  --text-color: #222222;
  --background-color: #ffffff;
  --border-color: #e6e6e6;
  --hero-overlay: rgba(0,0,0,0.25);
}

/* Canonical region selectors — use variables defined above. Keep these selectors identical across all themes. */
.sncf-voyageurs, body { color: var(--text-color); background-color: var(--background-color); }
/* Header / top actions */
.header-top, .main-header, .main-nav, .custom-nav { background-color: var(--background-color); }
.header-action, .header-action a { color: var(--text-color); }
.header-action:hover { color: var(--primary-color); }
.header-action .header-icon { stroke: currentColor; }

/* Promo banner */
.promo-banner { background: var(--primary-color); color: var(--on-primary-color, #fff); }
.promo-link { color: var(--secondary-color); }

/* Navigation */
.nav-tab, .main-nav a { color: var(--text-color); }
.nav-tab:hover, .nav-link:hover, .nav-tab.active { color: var(--primary-color); }
.nav-tab.active::after { background: var(--secondary-color); }
.nav-panel { border-bottom-color: var(--secondary-color); background: var(--background-color); }
.nav-sub-items { border-left-color: var(--secondary-color); }

/* Buttons */
.search-btn, .cta-btn, .btn-primary { background: var(--primary-color); color: var(--on-primary-color, #fff); border: 1px solid var(--primary-color); }
.search-btn:hover, .cta-btn:hover, .btn-primary:hover { filter: brightness(0.92); }
.btn-secondary { background: var(--background-color); color: var(--text-color); border: 1px solid var(--border-color); }
.btn-secondary:hover { border-color: var(--primary-color); color: var(--primary-color); }

.detail-btn { color: var(--primary-color); border-color: var(--primary-color); }
.detail-btn:hover { background: var(--primary-color); color: var(--on-primary-color, #fff); }

.traffic-badge { background: var(--secondary-color); color: var(--on-secondary-color, #222); }

/* Icons */
.form-icon, .swap-btn svg, .add-btn svg, .refresh-btn svg { color: var(--primary-color); stroke: currentColor; }

/* Hero overrides */
.hero-background { background-size: cover !important; }
.hero-overlay { background: linear-gradient(to right, var(--hero-overlay), transparent 60%); }

/* Card accents */
.search-form-card { border: 3px solid var(--primary-color); }
.info-traffic-card .card-header h3 { color: var(--text-color); }

/* News */
.news-card .news-link:hover { color: var(--primary-color); }
.train-text, .pass-label, .pass-price, .train-mobigo { color: var(--primary-color); }

/* Accessibility helpers */
:focus { outline-color: color-mix(in srgb, var(--primary-color) 60%, black 40%); }

/* Footer links */
.footer a { color: var(--text-color); }
.footer a:hover { color: var(--primary-color); }

/* Button hover: use theme secondary color */
button:hover,
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.cta-btn:hover,
.search-btn:hover,
.detail-btn:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  background: var(--secondary-color) !important;
  color: var(--on-secondary-color, #222) !important;
  border-color: var(--secondary-color) !important;
  box-shadow: none;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
