/* ================================================
   OLYMPONET — Tema Blu Reale & Oro
   Versione 3.0 DEFINITIVA
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --gold:        #c9a227;
  --gold-light:  #e6c84a;
  --navy-bg:     #0d2a6e;
  --navy-dark:   #081d52;
  --navy-card:   #102e78;
  --navy-hover:  #1a3a8a;
  --text-bright: #f0f4ff;
  --text-soft:   #a8bce0;
  --text-muted:  #6080b0;
  --border:      rgba(201,162,39,0.25);
}

/* ── Base ────────────────────────────────────── */
html {
  background-color: var(--navy-bg) !important;
}

body {
  background-color: var(--navy-bg) !important;
  color: var(--text-bright) !important;
  font-family: 'Inter', 'Poppins', sans-serif !important;
}

/* ── Header ──────────────────────────────────── */
.main-header {
  background: linear-gradient(90deg, var(--navy-dark) 0%, #0a2260 50%, var(--navy-dark) 100%) !important;
  border-bottom: 2px solid var(--gold) !important;
  box-shadow: 0 2px 20px rgba(201,162,39,0.2) !important;
}

/* Logo */
.main-header .logo,
.main-header .navbar-brand {
  color: var(--gold) !important;
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
}

/* Icone header */
.main-header .nav-link,
.main-header .header-icon {
  color: var(--text-soft) !important;
  transition: color 0.2s !important;
}
.main-header .nav-link:hover,
.main-header .header-icon:hover {
  color: var(--gold) !important;
}

/* Search */
.main-header input[type="search"],
.main-header input[type="text"],
.main-header .search-input {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(201,162,39,0.3) !important;
  color: var(--text-bright) !important;
  border-radius: 50px !important;
}
.main-header input::placeholder {
  color: var(--text-muted) !important;
}

/* ── Wrapper & Layout ────────────────────────── */
.main-wrapper,
.offcanvas,
.offcanvas-mainbar {
  background-color: var(--navy-bg) !important;
}

.container,
.container-fluid,
.mt20,
[class*="col-"] {
  background-color: transparent !important;
}

/* ── Sidebar ─────────────────────────────────── */
.main-side-nav-card,
.left-sidebar {
  background: var(--navy-dark) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
}

.main-side-nav li a {
  color: var(--text-soft) !important;
  border-radius: 10px !important;
  padding: 9px 14px !important;
  font-size: 0.9rem !important;
  transition: all 0.18s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid transparent !important;
}

/* Effetto 3D al passaggio del mouse */
.main-side-nav li a:hover {
  background: linear-gradient(180deg, #2a5298 0%, #1a3a6b 50%, #0d2247 100%) !important;
  color: #ffffff !important;
  padding-left: 18px !important;
  border: 1px solid rgba(201,162,39,0.4) !important;
  box-shadow:
    0 -2px 0 rgba(255,255,255,0.15) inset,
    0 3px 0 rgba(0,0,0,0.4) inset,
    0 6px 18px rgba(0,0,0,0.4),
    0 2px 6px rgba(201,162,39,0.2) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
  transform: translateY(-1px) !important;
}

.main-side-nav li.active a {
  background: linear-gradient(135deg, rgba(201,162,39,0.25), rgba(201,162,39,0.1)) !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  border-left: 3px solid var(--gold) !important;
}

.main-side-nav .nav-title,
.text-muted {
  color: var(--gold) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* ── Cards ───────────────────────────────────── */
.card,
.post-card,
.widget,
.feed-card {
  background: var(--navy-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important;
  color: var(--text-bright) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.card:hover,
.post-card:hover {
  border-color: rgba(201,162,39,0.45) !important;
  box-shadow: 0 6px 24px rgba(201,162,39,0.15) !important;
}

.card p, .card span, .card div,
.post-card p, .post-card span, .post-card div {
  color: var(--text-bright) !important;
}

.card .text-muted,
.post-card .text-muted {
  color: var(--text-soft) !important;
}

/* ── Input & Form ────────────────────────────── */
.form-control,
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(201,162,39,0.2) !important;
  color: var(--text-bright) !important;
  border-radius: 10px !important;
  transition: border-color 0.2s !important;
}

.form-control:focus,
input:focus,
textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201,162,39,0.15) !important;
  background: rgba(255,255,255,0.1) !important;
  outline: none !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted) !important;
}

/* ── Buttons ─────────────────────────────────── */
.btn-primary {
  background: linear-gradient(135deg, var(--navy-hover), #2451a0) !important;
  border: 1px solid rgba(201,162,39,0.3) !important;
  color: var(--text-bright) !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  transition: all 0.2s !important;
}

.btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(10,31,92,0.6) !important;
}

.btn-success {
  background: linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  border: none !important;
  color: var(--navy-dark) !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  transition: all 0.2s !important;
}

.btn-success:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(201,162,39,0.4) !important;
}

/* ── Links ───────────────────────────────────── */
a {
  color: var(--text-soft) !important;
  transition: color 0.2s !important;
}
a:hover {
  color: var(--gold) !important;
}

/* ── Dropdown ────────────────────────────────── */
.dropdown-menu {
  background: var(--navy-dark) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
  padding: 6px !important;
}

.dropdown-item,
.dropdown-menu a,
.dropdown-menu li a,
.dropdown-menu span {
  color: var(--text-bright) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 0.9rem !important;
  transition: all 0.15s !important;
  display: block !important;
}

.dropdown-item:hover,
.dropdown-menu a:hover {
  background: rgba(201,162,39,0.15) !important;
  color: var(--gold) !important;
}

/* ── Footer ──────────────────────────────────── */
.main-footer,
footer {
  background: var(--navy-dark) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
}

.main-footer a,
footer a {
  color: var(--text-muted) !important;
}

.main-footer a:hover,
footer a:hover {
  color: var(--gold) !important;
}

/* ── Badge ───────────────────────────────────── */
.badge-primary, .badge-info {
  background: var(--navy-hover) !important;
  color: var(--text-bright) !important;
  border-radius: 20px !important;
}

.badge-success {
  background: var(--gold) !important;
  color: var(--navy-dark) !important;
  border-radius: 20px !important;
}

/* ── Modal ───────────────────────────────────── */
.modal-content {
  background: var(--navy-dark) !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  color: var(--text-bright) !important;
}

.modal-header {
  border-bottom: 1px solid var(--border) !important;
}

.modal-footer {
  border-top: 1px solid var(--border) !important;
}

/* ── Scrollbar ───────────────────────────────── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--navy-dark); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--navy-hover), var(--gold));
  border-radius: 3px;
}

/* ── HR ──────────────────────────────────────── */
hr {
  border-color: var(--border) !important;
  opacity: 1 !important;
}

/* ── Night mode ──────────────────────────────── */
.night-mode body,
.night-mode .main-wrapper {
  background-color: #06163a !important;
}
/* ── Hover 3D oro brillante ──────────────────── */
.main-side-nav li a:hover {
  background: linear-gradient(180deg, #FFD700 0%, #c9a227 50%, #a07820 100%) !important;
  color: #1a1a2e !important;
  font-weight: 700 !important;
  padding-left: 18px !important;
  border: 1px solid rgba(255,215,0,0.6) !important;
  box-shadow:
    0 -2px 0 rgba(255,255,255,0.3) inset,
    0 3px 0 rgba(0,0,0,0.3) inset,
    0 6px 18px rgba(201,162,39,0.4),
    0 2px 6px rgba(0,0,0,0.3) !important;
  text-shadow: 0 1px 2px rgba(255,255,255,0.3) !important;
  transform: translateY(-1px) !important;
}