/* Nav + buton temă (împărțit pe site) */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* RO / EN */
.lang-switch {
  display: inline-flex;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  background: #fafafa;
}

.lang-switch__btn {
  padding: 8px 12px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  line-height: 1.2;
}

.lang-switch__btn--active {
  background: #e8720c;
  color: #fff;
}

.lang-switch__btn:not(.lang-switch__btn--active):hover {
  color: #e8720c;
}

body.dark .lang-switch {
  border-color: #444;
  background: #2a2a2a;
}

body.dark .lang-switch__btn {
  color: #ccc;
}

body.dark .lang-switch__btn--active {
  background: #e8720c;
  color: #fff;
}

body.dark .lang-switch__btn:not(.lang-switch__btn--active):hover {
  color: #e8720c;
}

.btn-theme-toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fafafa;
  color: #1a1a1a;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-theme-toggle:hover {
  border-color: #e8720c;
  color: #e8720c;
  background: #fef3e8;
}

.btn-theme-toggle:focus-visible {
  outline: 2px solid rgba(232, 114, 12, 0.45);
  outline-offset: 2px;
}

.btn-theme-toggle .theme-icon {
  width: 22px;
  height: 22px;
}

.btn-theme-toggle .theme-icon--sun {
  display: none;
}

body.dark .btn-theme-toggle .theme-icon--moon {
  display: none;
}

body.dark .btn-theme-toggle .theme-icon--sun {
  display: block;
}

body.dark .btn-theme-toggle {
  background: #2a2a2a;
  border-color: #444;
  color: #f0f0f0;
}

body.dark .btn-theme-toggle:hover {
  border-color: #e8720c;
  color: #e8720c;
  background: #333;
}

/* ========== body.dark — index + componente comune ========== */
body.dark {
  background-color: #1a1a1a;
  color: #f0f0f0;
}

body.dark nav {
  background-color: #111;
  border-bottom-color: #333;
}

body.dark .logo {
  color: #f0f0f0;
}

body.dark .nav-links a {
  color: #ccc;
}

body.dark .nav-dropdown {
  background: #2a2a2a;
  border-color: #444;
}

body.dark .nav-dropdown a,
body.dark .nav-dropdown .nav-dropdown-btn {
  color: #f0f0f0;
}

body.dark .nav-dropdown a:hover,
body.dark .nav-dropdown .nav-dropdown-btn:hover {
  background: #333;
  color: #e8720c;
}

body.dark .hero {
  background: linear-gradient(135deg, #252018, #1a1f28);
}

body.dark .hero h1 {
  color: #f0f0f0;
}

body.dark .hero-trust-item {
  color: #ccc;
}

body.dark .hero-trust-icon--muted {
  color: #999;
}

body.dark .search-box {
  background: #2a2a2a;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.dark .search-field label {
  color: #aaa;
}

body.dark .search-field input,
body.dark .search-field select,
body.dark .search-dd-trigger,
body.dark .search-date-trigger {
  background: #1a1a1a;
  border-color: #444;
  color: #f0f0f0;
}

body.dark .search-dd-panel {
  background: #2a2a2a;
  border-color: #3a3a3a;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
}

body.dark .search-dd-opt {
  color: #f0f0f0;
}

body.dark .search-dd-opt:hover {
  background: #333;
  color: #e8720c;
}

body.dark .calendar-popover {
  background: #2a2a2a;
  border-color: #3a3a3a;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

body.dark .calendar-month-titlu {
  color: #f0f0f0;
}

body.dark .calendar-weekdays {
  color: #999;
}

body.dark .cal-zi {
  color: #f0f0f0;
}

body.dark .cal-zi:hover:not(:disabled) {
  background: #3a3a3a;
}

body.dark .cal-zi.alt-luna {
  color: #777;
}

body.dark .cal-zi.alt-luna:hover {
  background: #333;
}

body.dark .cal-zi.in-trecut,
body.dark .cal-zi:disabled {
  background: #252525;
  color: #666;
}

body.dark .cal-zi.in-trecut:hover,
body.dark .cal-zi:disabled:hover {
  background: #252525;
}

body.dark .cal-zi.range-intre {
  background: #3d2a18;
}

body.dark .calendar-ore-row {
  border-top-color: #3a3a3a;
}

body.dark .calendar-ore-camp label {
  color: #aaa;
}

body.dark .calendar-ore-camp select {
  background: #1a1a1a;
  border-color: #444;
  color: #f0f0f0;
}

body.dark .calendar-nav button {
  background: #1a1a1a;
  border-color: #444;
  color: #ccc;
}

body.dark .btn-cal-anuleaza {
  background: #2a2a2a;
  border-color: #444;
  color: #ccc;
}

body.dark .sectiune-titlu {
  color: #f0f0f0;
}

body.dark .filtre-bar-card {
  background: #2a2a2a;
  border-color: #3a3a3a;
  box-shadow: none;
}

body.dark .filtre-vsep {
  background: linear-gradient(
    to bottom,
    transparent,
    #3a3a3a 12%,
    #3a3a3a 88%,
    transparent
  );
}

body.dark .filtre-label {
  color: #aaa;
}

body.dark .filtre-valoare {
  color: #f0f0f0;
}

body.dark .filtre-trigger:hover {
  background: rgba(232, 114, 12, 0.08);
}

body.dark .filtre-trigger[aria-expanded="true"] {
  background: rgba(232, 114, 12, 0.12);
}

body.dark .filtre-dropdown {
  background: #2a2a2a;
  border-color: #3a3a3a;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

body.dark .filtru-dropdown-opt {
  color: #f0f0f0;
}

body.dark .filtru-dropdown-opt:hover {
  background: #333;
}

body.dark .filtru-dropdown-opt.activ {
  background: #3d2a18;
}

body.dark .masini-sort-wrap label {
  color: #aaa;
}

body.dark .btn-masini-vezi-toate {
  background: #2a2a2a;
  border-color: #e8720c;
  color: #e8720c;
}

body.dark .btn-masini-vezi-toate:hover {
  background: #3d2a18;
}

body.dark .card-masina {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .card-masina:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
}

body.dark .btn-rezerva:disabled {
  background: linear-gradient(180deg, #3d3d3d 0%, #2f2f2f 100%);
  color: #9ca3af;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  border: 1px solid #4b4b4b;
}

body.dark .btn-rezerva:disabled:hover {
  background: linear-gradient(180deg, #3d3d3d 0%, #2f2f2f 100%);
}

body.dark .card-imagine {
  background: linear-gradient(135deg, #3a3028, #2a2835);
}

body.dark .card-nume {
  color: #f0f0f0;
}

body.dark .card-tip {
  color: #aaa;
}

body.dark .card-footer {
  border-top-color: #3a3a3a;
}

body.dark .pret span {
  color: #aaa;
}

body.dark .spec {
  background: #333;
  color: #ccc;
}

body.dark .modal-detalii {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .modal-detalii-body {
  background: #2a2a2a;
}

body.dark .modal-detalii-nume-principal {
  color: #f0f0f0;
}

body.dark .modal-detalii-categorie-sub {
  color: #aaa;
}

body.dark .modal-detalii-dotari {
  border-top-color: #3a3a3a;
}

body.dark .modal-detalii-dotari h3 {
  color: #f0f0f0;
}

body.dark .modal-detalii-dotari-lista li {
  color: #e8e8e8;
}

body.dark .modal-detalii-footer-rand {
  border-top-color: #3a3a3a;
}

body.dark .modal-detalii-thumbs-wrap {
  background: #222;
  border-bottom-color: #3a3a3a;
}

body.dark .modal-detalii-close {
  background: rgba(42, 42, 42, 0.95);
  color: #f0f0f0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.dark .modal-detalii-main,
body.dark .modal-detalii-main-inner,
body.dark .modal-detalii-main-inner img {
  background: #1a1a1a;
}

body.dark .modal-detalii-placeholder {
  background: linear-gradient(135deg, #3a3028, #2a2835);
}

body.dark .modal-detalii-arrow {
  background: #2a2a2a;
  border-color: #444;
}

body.dark .modal-detalii-thumb {
  background: #444;
}

body.dark .modal {
  background: #2a2a2a;
  color: #f0f0f0;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

body.dark .modal h2 {
  color: #e0e0e0;
}

body.dark .modal-rez-date-wrap > label {
  color: #ccc;
}

body.dark .modal-toggle-opt {
  border-color: #444;
  background: linear-gradient(180deg, #333 0%, #2a2a2a 100%);
}

body.dark .modal-toggle-opt-label {
  color: #f0f0f0;
}

body.dark .modal-rez-hero {
  background: linear-gradient(135deg, #2a2518 0%, #3d2a18 45%, #2a2a2a 100%);
  border-color: rgba(232, 114, 12, 0.35);
}

body.dark .modal-rez-hero-nume {
  color: #f0f0f0;
}

body.dark .modal-rez-hero-pret-ron,
body.dark .modal-rez-hero-meta {
  color: #aaa;
}

body.dark .modal-rez-section-title {
  color: #aaa;
}

body.dark .modal-rez-sum-card {
  background: linear-gradient(180deg, #2a2a2a 0%, #1f1f1f 100%);
  border-color: #3a3a3a;
}

body.dark .modal-rez-sum-placeholder {
  color: #aaa;
}

body.dark .modal-rez-sum-row {
  color: #ccc;
}

body.dark .modal-rez-sum-row span:first-child {
  color: #aaa;
}

body.dark .modal-rez-sum-row strong {
  color: #f0f0f0;
}

body.dark .modal-rez-sum-row--total {
  border-top-color: #444;
}

body.dark .modal-rez-sum-row--total > span:first-child {
  color: #e0e0e0;
}

body.dark .modal-rez-sum-row--total .modal-rez-sum-val-col strong {
  color: #e8720c;
}

body.dark .modal-rez-sum-lbl-main {
  color: #ccc;
}

body.dark .modal-rez-sum-lbl-sub {
  color: #888;
}

body.dark .modal-rez-sum-val-col strong {
  color: #f0f0f0;
}

body.dark .modal-rez-sum-ron-estim {
  color: #999;
}

body.dark .modal-rez-sum-bnr-note {
  color: #888;
}

body.dark .modal-rez-sum-card.modal-rez-sum-eroare {
  border-color: #633;
  background: linear-gradient(180deg, #3a2424 0%, #2a1f1f 100%);
}

body.dark .modal-rez-sum-card.modal-rez-sum-eroare .modal-rez-sum-placeholder {
  color: #f0a8a8;
}

body.dark .modal-rezervare-feedback.modal-feedback-succes {
  background: #141916;
  color: #e8f2e4;
  border: 1px solid #2a3d26;
}

body.dark .modal-rezervare-feedback.modal-feedback-succes strong {
  color: #c4e8b8;
}

body.dark .modal-rezervare-feedback.modal-feedback-eroare {
  background: #1f1818;
  color: #f5d4d4;
  border: 1px solid #4a2a2a;
}

body.dark footer {
  background: #0d0d0d;
  border-top: 1px solid #2a2a2a;
}

@media (max-width: 768px) {
  body.dark .nav-burger:hover {
    background: #333;
    border-color: #555;
  }

  body.dark .nav-burger span {
    background: #f0f0f0;
  }

  body.dark .nav-burger-menu {
    background: #2a2a2a;
    border-color: #3a3a3a;
  }

  body.dark .nav-burger-menu a {
    color: #f0f0f0;
  }

  body.dark .nav-burger-menu a:hover {
    background: #333;
    color: #e8720c;
  }

  body.dark .nav-burger-menu a.activ {
    background: #3d2a18;
    color: #e8720c;
  }

  body.dark .nav-burger-menu-cont {
    border-top-color: #3a3a3a;
  }

  body.dark .nav-burger-menu-cont a,
  body.dark .nav-burger-menu-cont button {
    color: #f0f0f0;
  }

  body.dark .nav-burger-menu-cont a:hover,
  body.dark .nav-burger-menu-cont button:hover {
    background: #333;
    color: #e8720c;
  }
}

@media (max-width: 900px) {
  body.dark .filtre-celula,
  body.dark .filtre-celula-cauta {
    border-bottom-color: #3a3a3a;
  }
}

/* ========== Contact, pagini statice, termeni/politică ========== */
body.dark .page-header {
  background: linear-gradient(135deg, #252018, #1a1f28);
  border-bottom-color: #3a3a3a;
}

body.dark .page-header h1 {
  color: #f0f0f0;
}

body.dark .page-header p,
body.dark .page-header .ultima-actualizare {
  color: #aaa;
}

body.dark .info-card,
body.dark .program,
body.dark .formular-card {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .info-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

body.dark .info-icon {
  background: #3d2a18;
}

body.dark .info-text h3 {
  color: #f0f0f0;
}

body.dark .info-text p {
  color: #bbb;
}

body.dark .program h3 {
  color: #f0f0f0;
}

body.dark .program-rand {
  border-bottom-color: #3a3a3a;
}

body.dark .program-rand .zi {
  color: #aaa;
}

body.dark .program-rand .ore {
  color: #f0f0f0;
}

body.dark .formular-card h2 {
  color: #f0f0f0;
}

body.dark .formular-card .subtitlu {
  color: #aaa;
}

body.dark .camp label {
  color: #888;
}

body.dark .camp input,
body.dark .camp select,
body.dark .camp textarea {
  background: #1a1a1a;
  border-color: #444;
  color: #f0f0f0;
}

body.dark .camp input:focus,
body.dark .camp select:focus,
body.dark .camp textarea:focus {
  background: #222;
}

body.dark .harta-container h2 {
  color: #f0f0f0;
}

body.dark .harta {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .intro-card,
body.dark .cuprins {
  background: #2a2a2a;
  border: 1px solid #3a3a3a;
  box-shadow: none;
  color: #e0e0e0;
}

body.dark .container section.sectiune {
  background: #2a2a2a;
  border: 1px solid #3a3a3a;
  box-shadow: none;
}

body.dark .intro-card strong {
  color: #f0f0f0;
}

body.dark .cuprins h2 {
  color: #f0f0f0;
}

body.dark .cuprins ol li {
  color: #ccc;
}

body.dark .cuprins a {
  color: #e8720c;
}

body.dark .container section.sectiune h2,
body.dark .container section.sectiune h2 .nr {
  color: #e8720c;
}

body.dark .container section.sectiune h3 {
  color: #e0e0e0;
}

body.dark .container section.sectiune p,
body.dark .container section.sectiune li {
  color: #ddd;
}

body.dark .info-box {
  background: #3d2a18;
  border-color: #555;
  color: #f0e8e0;
}

body.dark .sectiune-placeholder {
  background: #2a2a2a;
  border: 1px solid #3a3a3a;
  border-radius: 12px;
}

body.dark .sectiune-placeholder h2 {
  color: #f0f0f0;
}

body.dark .sectiune-placeholder p {
  color: #aaa;
}

/* Rezervări */
body.dark .stat-card {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .stat-card .eticheta {
  color: #aaa;
}

body.dark .tabs {
  background: #1a1a1a;
  border-bottom-color: #3a3a3a;
}

body.dark .tab {
  color: #888;
}

body.dark .stare-goala {
  color: #888;
}

body.dark .stare-goala h3 {
  color: #aaa;
}

body.dark .stare-goala p {
  color: #888;
}

body.dark .email-lookup-bar > label {
  color: #aaa;
}

body.dark .email-lookup-row input[type="email"] {
  background: #1a1a1a;
  border-color: #444;
  color: #f0f0f0;
}

body.dark .bun-venit-box {
  background: #2a2a2a;
  border: 1px solid #3a3a3a;
  color: #e0e0e0;
}

body.dark .rezervare-card {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .rezervare-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

body.dark .masina-thumb--placeholder {
  background: #333;
}

body.dark .card-titlu {
  color: #f0f0f0;
}

body.dark .card-sub {
  color: #aaa;
}

body.dark .detaliu .label {
  color: #888;
}

body.dark .detaliu .valoare {
  color: #e8e8e8;
}

body.dark .pret-total span {
  color: #aaa;
}

body.dark .card-jos {
  background: #1e1e1e;
  border-top-color: #3a3a3a;
}

body.dark .card-jos .nr-rezervare {
  color: #d0d0d0;
}

body.dark .card-jos .btn-detalii {
  border-color: #555;
  color: #e0e0e0;
}

body.dark .card-jos .btn-detalii:hover {
  border-color: #e8720c;
  color: #e8720c;
}

body.dark .card-jos .btn-anuleaza {
  border-color: #8a5050;
  color: #f0b0b0;
}

body.dark .card-jos .btn-anuleaza:hover {
  background: #3a2828;
}

body.dark .badge-finalizata {
  background: #333;
  color: #bbb;
}

/* Auth modale (contact / rezervări) */
body.dark .auth-tabs {
  border-bottom-color: #444;
}

body.dark .auth-tab {
  color: #888;
}

body.dark .modal-auth-banner {
  background: #3d2a18;
  border-color: #555;
  color: #f0ddd0;
}

body.dark .auth-eroare {
  background: #3d1f1f;
  color: #f0b0b0;
  border-color: #633;
}

/* Admin — suprafață minimă */
body.dark .admin-login {
  background: #1a1a1a;
}

body.dark .admin-login-card {
  background: #2a2a2a;
  border-color: #3a3a3a;
}

body.dark .admin-login-sub,
body.dark .admin-login-card label {
  color: #aaa;
}

body.dark .admin-login-card input[type="password"],
body.dark .admin-login-card input[type="text"] {
  background: #1a1a1a;
  border-color: #444;
  color: #f0f0f0;
}

/* ========== Pagini legale: Termeni (.page-termeni) + Politică (.page-politica) ========== */
body.dark.page-termeni,
body.dark.page-politica {
  color: #e0e0e0;
}

body.dark.page-termeni .page-header,
body.dark.page-politica .page-header {
  background: linear-gradient(135deg, #252220, #1a1c20);
  border-bottom: 1px solid #444;
}

body.dark.page-termeni .page-header h1,
body.dark.page-politica .page-header h1 {
  color: #ffffff;
}

body.dark.page-termeni .page-header p,
body.dark.page-termeni .page-header .ultima-actualizare,
body.dark.page-politica .page-header p,
body.dark.page-politica .page-header .ultima-actualizare {
  color: #e0e0e0;
}

body.dark.page-termeni .intro-card,
body.dark.page-politica .intro-card {
  background: #2a2a2a !important;
  color: #e0e0e0;
  border: 1px solid #444 !important;
  border-left-width: 4px !important;
  border-left-color: #e8720c !important;
  box-shadow: none;
}

body.dark.page-termeni .intro-card strong,
body.dark.page-politica .intro-card strong {
  color: #ffffff;
}

body.dark.page-termeni .cuprins {
  background: #2a2a2a;
  border: 1px solid #444;
  box-shadow: none;
  color: #e0e0e0;
}

body.dark.page-termeni .cuprins h2 {
  color: #ffffff;
}

body.dark.page-termeni .cuprins ol li {
  color: #e0e0e0;
}

body.dark.page-termeni .cuprins a {
  color: #e8720c;
}

body.dark.page-termeni .cuprins a:hover {
  color: #ffb366;
}

body.dark.page-termeni .container section.sectiune,
body.dark.page-politica .container section.sectiune {
  background: #2a2a2a;
  border: 1px solid #444;
  box-shadow: none;
  color: #e0e0e0;
}

body.dark.page-termeni .container section.sectiune h2,
body.dark.page-termeni .container section.sectiune h2 .nr,
body.dark.page-politica .container section.sectiune h2,
body.dark.page-politica .container section.sectiune h2 .nr {
  color: #e8720c;
}

body.dark.page-termeni .container section.sectiune h3,
body.dark.page-politica .container section.sectiune h3 {
  color: #ffffff;
}

body.dark.page-termeni .container section.sectiune p,
body.dark.page-termeni .container section.sectiune li,
body.dark.page-politica .container section.sectiune p,
body.dark.page-politica .container section.sectiune li {
  color: #e0e0e0;
}

body.dark.page-termeni .container section.sectiune strong,
body.dark.page-politica .container section.sectiune strong {
  color: #ffffff;
}

body.dark.page-termeni .container section.sectiune a,
body.dark.page-politica .container section.sectiune a {
  color: #e8720c;
}

body.dark.page-termeni .container section.sectiune a:hover,
body.dark.page-politica .container section.sectiune a:hover {
  color: #ffb366;
}

body.dark.page-termeni .taxa-linie {
  background: #252525;
  border: 1px solid #444;
}

body.dark.page-termeni .taxa-nume {
  color: #e0e0e0;
}

body.dark.page-termeni .taxa-pret {
  color: #e8720c;
}

body.dark.page-termeni .info-box,
body.dark.page-politica .info-box {
  background: #2a2418;
  border: 1px solid #444;
  color: #e0e0e0;
}

body.dark.page-termeni .info-box strong,
body.dark.page-politica .info-box strong {
  color: #ffffff;
}

body.dark.page-termeni .avertisment,
body.dark.page-politica .avertisment {
  background: #2a1f1f;
  border: 1px solid #444;
  color: #e0e0e0;
}

body.dark.page-termeni .avertisment strong,
body.dark.page-politica .avertisment strong {
  color: #ffffff;
}

@media (max-width: 768px) {
  body.dark.page-termeni .nav-burger-menu,
  body.dark.page-politica .nav-burger-menu {
    background: #2a2a2a;
    border: 1px solid #444;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
  }

  body.dark.page-termeni .nav-burger-menu a,
  body.dark.page-politica .nav-burger-menu a {
    color: #e0e0e0;
  }

  body.dark.page-termeni .nav-burger-menu a:hover,
  body.dark.page-politica .nav-burger-menu a:hover {
    background: #333;
    color: #e8720c;
  }

  body.dark.page-termeni .nav-burger span,
  body.dark.page-politica .nav-burger span {
    background: #e0e0e0;
  }

  body.dark.page-termeni .nav-burger:hover,
  body.dark.page-politica .nav-burger:hover {
    background: #333;
    border-color: #555;
  }
}

