/* ============================================================
   Muzeul Olteniei Craiova — Stiluri publice
   Design inspirat de devsoft.ro — dark, gold accents, modern
   ============================================================ */

/* ---- Google Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

/* ---- CSS Variables ---- */
:root {
  --bg-0:       #06090f;
  --bg-1:       #0b1220;
  --bg-2:       #101928;
  --bg-card:    rgba(255,255,255,.03);
  --bg-card-h:  rgba(255,255,255,.06);

  --gold:        #c9a84c;
  --gold-mid:    #d4b55e;
  --gold-light:  #e8c96a;
  --gold-pale:   #f5e4a8;
  --gold-glow:   rgba(201,168,76,.2);
  --gold-glow-s: rgba(201,168,76,.45);

  --text-1: #f1f5f9;
  --text-2: #cbd5e1;
  --text-3: #94a3b8;
  --text-4: #64748b;

  --border-1: rgba(201,168,76,.1);
  --border-2: rgba(201,168,76,.22);
  --border-3: rgba(201,168,76,.45);

  --font-head: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;

  --r-sm:   8px;
  --r:      12px;
  --r-lg:   18px;
  --r-xl:   24px;
  --r-full: 9999px;

  --ease:     cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(0,0,.2,1);
  --dur:      .3s;

  --shadow:    0 4px 20px rgba(0,0,0,.55);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.65);
  --glow-gold: 0 0 40px rgba(201,168,76,.2);
}

/* ---- Light Mode ---- */
[data-theme="light"] {
  --bg-0:      #f4f6f9;
  --bg-1:      #ffffff;
  --bg-2:      #e9edf3;
  --bg-card:   rgba(255,255,255,.95);
  --bg-card-h: rgba(255,255,255,1);

  --text-1: #0f172a;
  --text-2: #1e293b;
  --text-3: #475569;
  --text-4: #94a3b8;

  --border-1: rgba(15,23,42,.08);
  --border-2: rgba(15,23,42,.16);
  --border-3: rgba(15,23,42,.28);

  --shadow:    0 4px 20px rgba(0,0,0,.1);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.15);
  --glow-gold: 0 0 40px rgba(201,168,76,.12);
}
/* Light mode: hero bg */
[data-theme="light"] .hero-bg {
  background: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(201,168,76,.18) 0%, transparent 65%);
}
[data-theme="light"] .hero-grid {
  background-image: linear-gradient(rgba(0,0,0,.06) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(0,0,0,.06) 1px, transparent 1px);
}
/* Light mode: navbar */
[data-theme="light"] .navbar {
  background: rgba(244,246,249,.92);
  border-bottom-color: rgba(15,23,42,.1);
}
[data-theme="light"] .navbar.scrolled {
  background: rgba(244,246,249,.97);
}
/* Light mode: cards */
[data-theme="light"] .obj-card {
  background: #ffffff;
  box-shadow: 0 2px 16px rgba(0,0,0,.08);
}
[data-theme="light"] .obj-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.14), 0 0 0 1px rgba(201,168,76,.25);
}
/* Light mode: about & visit sections */
[data-theme="light"] .about-section,
[data-theme="light"] .visit-section { background: var(--bg-1); }
[data-theme="light"] .qr-strip { background: var(--bg-2); }
/* Light mode: audience selector */
[data-theme="light"] .audience-selector { background: var(--bg-1); border-color: var(--border-1); }
/* Light mode: obj content section */
[data-theme="light"] .obj-content { background: var(--bg-2); }
[data-theme="light"] .content-panel { background: var(--bg-1); border-color: var(--border-1); }
/* Light mode: user dropdown */
[data-theme="light"] .user-dropdown { background: #ffffff; border-color: rgba(15,23,42,.12); }
/* Light mode: mobile nav dropdown */
[data-theme="light"] .nav-links { background: rgba(244,246,249,.98); border-bottom-color: rgba(15,23,42,.12); }
[data-theme="light"] .nav-links a:hover { background: rgba(0,0,0,.04); }
/* Light mode: hero gradient text */
[data-theme="light"] .hero h1 .gradient {
  background: linear-gradient(135deg, #b8860b 0%, var(--gold) 50%, #c9a84c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---- Theme Toggle Button ---- */
.theme-toggle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-2);
  background: var(--bg-card);
  color: var(--text-3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  transition: all .25s;
  flex-shrink: 0;
}
.theme-toggle:hover {
  background: rgba(201,168,76,.1);
  border-color: var(--gold);
  color: var(--gold);
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--bg-0);
  color: var(--text-1);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
  transition: background-color .3s, color .3s;
}
img { max-width:100%; display:block; }
a { color: inherit; text-decoration:none; }
button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* ---- Utilities ---- */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.text-gold  { color: var(--gold); }
.text-muted { color: var(--text-3); }

/* ---- Navigation ---- */
.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0 24px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(6,9,15,.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-1);
  transition: background var(--dur) var(--ease);
}
.navbar.scrolled {
  background: rgba(6,9,15,.95);
  border-bottom-color: var(--border-2);
}
.nav-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.nav-logo-icon {
  width: 38px; height: 38px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border-radius: var(--r-sm);
  display: flex; align-items:center; justify-content:center;
  font-size: 1.1rem;
  color: #000;
  font-weight: 700;
  flex-shrink: 0;
}
.nav-logo-text {
  display: flex; flex-direction:column; line-height:1.2;
}
.nav-logo-text span:first-child {
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 700;
  color: var(--text-1);
}
.nav-logo-text span:last-child {
  font-size: .7rem;
  color: var(--gold);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
}
.nav-links a {
  padding: 8px 14px;
  border-radius: var(--r-sm);
  font-size: .88rem;
  font-weight: 500;
  color: var(--text-3);
  transition: color var(--dur), background var(--dur);
  letter-spacing: .03em;
  text-transform: uppercase;
}
.nav-links a:hover { color: var(--text-1); background: rgba(255,255,255,.05); }
.nav-links .btn-admin {
  background: var(--gold);
  color: #000 !important;
  font-weight: 700;
  border-radius: var(--r-sm);
  padding: 8px 18px;
}
.nav-links .btn-admin:hover { background: var(--gold-light); }

/* User dropdown nav */
.user-nav-item { position: relative; }
.user-nav-link {
  display: flex !important;
  align-items: center;
  gap: 7px;
}
.user-avatar {
  width: 28px;
  height: 28px;
  background: rgba(201,168,76,.2);
  border: 1px solid rgba(201,168,76,.4);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  flex-shrink: 0;
}
.user-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  background: #0e1526;
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 10px;
  padding: 6px;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  z-index: 200;
}
.user-nav-item:hover .user-dropdown { display: block; }
.user-dropdown a {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 9px 12px !important;
  border-radius: 7px;
  font-size: .85rem !important;
  background: none !important;
}
.user-dropdown a.logout { color: #f87171 !important; }
.user-dropdown a.logout:hover { background: rgba(239,68,68,.08) !important; }

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  border: none;
  background: none;
}
.nav-toggle span {
  display: block;
  width: 24px; height: 2px;
  background: var(--text-1);
  border-radius: 2px;
  transition: transform var(--dur), opacity var(--dur);
}

/* ---- Hero ---- */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 100px 24px 60px;
  position: relative;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(201,168,76,.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 20% 80%, rgba(201,168,76,.07) 0%, transparent 50%);
  pointer-events: none;
}
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, black 30%, transparent 70%);
  pointer-events: none;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--border-2);
  color: var(--gold);
  padding: 6px 16px;
  border-radius: var(--r-full);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.hero-badge::before { content:''; width:6px; height:6px; background:var(--gold); border-radius:50%; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }

.hero h1 {
  font-family: var(--font-head);
  font-size: clamp(2.4rem, 8vw, 5.5rem);
  font-weight: 900;
  line-height: 1.05;
  margin-bottom: 24px;
  color: var(--text-1);
}
.hero h1 .gradient {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, #fff9d6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub {
  max-width: 580px;
  font-size: 1.1rem;
  color: var(--text-3);
  line-height: 1.7;
  margin-bottom: 40px;
}
.hero-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 72px;
}
.btn-primary {
  padding: 14px 32px;
  background: var(--gold);
  color: #000;
  font-weight: 700;
  border-radius: var(--r-sm);
  font-size: .95rem;
  letter-spacing: .04em;
  transition: all var(--dur) var(--ease);
  box-shadow: 0 4px 24px rgba(201,168,76,.35);
}
.btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(201,168,76,.5);
}
.btn-secondary {
  padding: 14px 32px;
  border: 1px solid var(--border-2);
  color: var(--text-2);
  font-weight: 500;
  border-radius: var(--r-sm);
  font-size: .95rem;
  transition: all var(--dur) var(--ease);
}
.btn-secondary:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(201,168,76,.05);
}

/* Stats strip */
.hero-stats {
  display: flex;
  gap: 0;
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: rgba(255,255,255,.02);
  backdrop-filter: blur(10px);
}
.hero-stat {
  padding: 20px 32px;
  text-align: center;
  border-right: 1px solid var(--border-1);
  flex: 1;
}
.hero-stat:last-child { border-right: none; }
.stat-num {
  display: block;
  font-family: var(--font-head);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gold);
}
.stat-lbl {
  display: block;
  font-size: .75rem;
  color: var(--text-4);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: 4px;
}

/* ---- Section commons ---- */
.section {
  padding: 100px 0;
}
.section-tag {
  display: inline-block;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--border-2);
  color: var(--gold);
  padding: 5px 14px;
  border-radius: var(--r-full);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.section-title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
  color: var(--text-1);
  line-height: 1.15;
  margin-bottom: 16px;
}
.section-desc {
  font-size: 1.05rem;
  color: var(--text-3);
  max-width: 540px;
  line-height: 1.7;
}
.section-header {
  margin-bottom: 60px;
}

/* ---- Divider ---- */
.divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-2), transparent);
}

/* ---- Objects grid ---- */
#colectie { background: var(--bg-1); }

.objects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}
.obj-card {
  background: var(--bg-card);
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), border-color var(--dur), box-shadow var(--dur);
  cursor: pointer;
  text-decoration: none;
  display: block;
}
.obj-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-2);
  box-shadow: var(--shadow-lg), var(--glow-gold);
}
.obj-card-img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--bg-2);
}
.obj-card-img img {
  width: 100%; height: 100%;
  object-fit: contain;
  transition: transform .5s var(--ease);
}
.obj-card:hover .obj-card-img img { transform: scale(1.06); }

.obj-card-qr {
  position: absolute;
  top: 12px; right: 12px;
  background: rgba(6,9,15,.7);
  border: 1px solid var(--border-2);
  color: var(--gold);
  width: 34px; height: 34px;
  border-radius: var(--r-sm);
  display: flex; align-items:center; justify-content:center;
  font-size: .9rem;
  backdrop-filter: blur(8px);
}
.obj-card-cat {
  position: absolute;
  bottom: 12px; left: 12px;
  background: rgba(6,9,15,.75);
  border: 1px solid var(--border-1);
  color: var(--gold);
  padding: 4px 10px;
  border-radius: var(--r-full);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.obj-card-body {
  padding: 20px;
}
.obj-card-title {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-1);
  margin-bottom: 8px;
  line-height: 1.3;
}
.obj-card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .8rem;
  color: var(--text-4);
  margin-bottom: 12px;
}
.obj-card-meta i { color: var(--gold); font-size: .75rem; }
.obj-card-desc {
  font-size: .875rem;
  color: var(--text-3);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.obj-card-footer {
  padding: 14px 20px;
  border-top: 1px solid var(--border-1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .8rem;
  color: var(--text-4);
}
.obj-card-footer .link {
  color: var(--gold);
  font-weight: 600;
  display: flex; align-items:center; gap:6px;
  transition: gap var(--dur);
}
.obj-card:hover .obj-card-footer .link { gap: 10px; }

/* ---- About section ---- */
#despre { background: var(--bg-0); }

/* ---- Infinite Ticker ---- */
.ticker-outer {
  overflow: hidden;
  padding: 6px 0 24px;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
}
.ticker-track {
  display: flex;
  gap: 18px;
  width: max-content;
  animation: ticker-scroll 80s linear infinite;
  will-change: transform;
}
.ticker-outer:hover .ticker-track { animation-play-state: paused; }
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ticker-card {
  flex-shrink: 0;
  width: 240px;
  background: var(--bg-card);
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  overflow: hidden;
  text-decoration: none;
  display: block;
  transition: border-color var(--dur), transform var(--dur), box-shadow var(--dur);
}
.ticker-card:hover {
  border-color: var(--border-2);
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}
.ticker-card-img {
  width: 240px;
  height: 165px;
  background: var(--bg-2);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ticker-card-img img {
  width: 100%; height: 100%;
  object-fit: contain;
  transition: transform .4s var(--ease);
}
.ticker-card:hover .ticker-card-img img { transform: scale(1.06); }
.ticker-card-body { padding: 12px 14px 14px; }
.ticker-card-cat {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 600;
  color: var(--gold);
  display: block;
  margin-bottom: 4px;
}
.ticker-card-body h4 {
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 600;
  color: var(--text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 4px;
  line-height: 1.3;
}
.ticker-card-body p {
  font-size: .75rem;
  color: var(--text-4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
[data-theme="light"] .ticker-card { background: #fff; }
[data-theme="light"] .ticker-card-img { background: #eef0f3; }

/* ---- Objects Page ---- */
.obj-page-hero {
  padding: 110px 0 56px;
  background: var(--bg-1);
  text-align: center;
}
.obj-page-hero h1 {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  color: var(--text-1);
  margin: 8px 0 6px;
}
.obj-page-hero > .container > p { color: var(--text-3); font-size: 1rem; }
.obj-search-wrap {
  position: relative;
  max-width: 560px;
  margin: 28px auto 0;
  display: flex;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-2);
  border-radius: var(--r-full);
  padding: 6px 6px 6px 20px;
  gap: 10px;
  transition: border-color var(--dur), box-shadow var(--dur);
}
.obj-search-wrap:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,168,76,.12);
}
.obj-search-wrap > i { color: var(--gold); font-size: .9rem; flex-shrink: 0; }
.obj-search-wrap input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--text-1);
  font-size: .9rem;
  font-family: var(--font-body);
  min-width: 0;
}
.obj-search-wrap input::placeholder { color: var(--text-4); }
.obj-search-wrap button {
  padding: 9px 22px;
  border-radius: var(--r-full);
  background: var(--gold);
  color: #000;
  border: none;
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  transition: background var(--dur);
  flex-shrink: 0;
}
.obj-search-wrap button:hover { background: var(--gold-light); }
.cat-filter-strip {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: var(--r-full);
  border: 1px solid var(--border-1);
  background: transparent;
  color: var(--text-3);
  font-size: .8rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--dur);
  white-space: nowrap;
}
.cat-pill:hover { border-color: var(--border-2); color: var(--text-1); }
.cat-pill.active { border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,.08); }
.cat-pill-count {
  background: rgba(201,168,76,.12);
  color: var(--gold);
  border-radius: var(--r-full);
  padding: 1px 7px;
  font-size: .7rem;
  font-weight: 700;
}
.obj-pagination {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.pag-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border-1);
  color: var(--text-3);
  font-size: .87rem;
  text-decoration: none;
  transition: all var(--dur);
}
.pag-btn:hover { border-color: var(--border-2); color: var(--text-1); }
.pag-btn.active { background: var(--gold); color: #000; border-color: var(--gold); font-weight: 700; }
.pag-ellipsis { color: var(--text-4); padding: 0 4px; }
/* Light mode: objects page */
[data-theme="light"] .obj-search-wrap { background: #fff; border-color: rgba(15,23,42,.15); }
[data-theme="light"] .obj-page-hero { background: #eef2f7; }

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.about-visual {
  position: relative;
}
.about-img-wrap {
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--border-2);
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/3;
  background: var(--bg-2);
}
.about-img-wrap img { width:100%; height:100%; object-fit:cover; }
.about-badge {
  position: absolute;
  bottom: -20px; right: -20px;
  background: var(--gold);
  color: #000;
  padding: 16px 20px;
  border-radius: var(--r-lg);
  text-align: center;
  font-weight: 700;
  box-shadow: var(--shadow);
}
.about-badge span { display:block; font-size:1.5rem; }
.about-badge small { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; }
.about-list { list-style:none; margin-top:28px; display:flex; flex-direction:column; gap:14px; }
.about-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: .95rem;
  color: var(--text-3);
  line-height: 1.6;
}
.about-list li i { color:var(--gold); font-size:1rem; margin-top:2px; flex-shrink:0; }

/* ---- Visit section ---- */
#vizita { background: var(--bg-1); }
.visit-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 48px;
  align-items: start;
}
.visit-info { display:flex; flex-direction:column; gap:20px; }
.info-card {
  background: var(--bg-card);
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  padding: 22px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: border-color var(--dur);
}
.info-card:hover { border-color: var(--border-2); }
.info-card-icon {
  width: 44px; height: 44px;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--border-2);
  border-radius: var(--r-sm);
  display: flex; align-items:center; justify-content:center;
  color: var(--gold);
  font-size: 1.1rem;
  flex-shrink: 0;
}
.info-card-content h4 { font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-4); margin-bottom:4px; }
.info-card-content p  { font-size:.95rem; color:var(--text-2); line-height:1.5; }
.info-card-content a  { color:var(--gold); }
.info-card-content a:hover { text-decoration:underline; }

.hours-table { width:100%; border-collapse:collapse; margin-top:6px; }
.hours-table td { padding:3px 0; font-size:.88rem; color:var(--text-3); }
.hours-table td:last-child { color:var(--text-2); text-align:right; }

.map-wrap {
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--border-2);
  box-shadow: var(--shadow-lg);
}
.map-wrap iframe { display:block; width:100%; height:420px; border:0; filter:grayscale(.3) brightness(.85); }

/* ---- Footer ---- */
footer {
  background: var(--bg-0);
  border-top: 1px solid var(--border-1);
  padding: 60px 0 30px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
.footer-brand p {
  color: var(--text-4);
  font-size: .88rem;
  line-height: 1.7;
  margin-top: 14px;
  max-width: 300px;
}
.footer-col h4 {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--text-4);
  margin-bottom: 16px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul a { font-size:.88rem; color:var(--text-3); transition:color var(--dur); }
.footer-col ul a:hover { color:var(--gold); }
.footer-bottom {
  border-top: 1px solid var(--border-1);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-bottom p { font-size:.82rem; color:var(--text-4); }
.social-links { display:flex; gap:10px; }
.social-links a {
  width:36px; height:36px;
  border:1px solid var(--border-2);
  border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-3);
  transition:all var(--dur);
}
.social-links a:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.07); }

/* ---- Object page specific ---- */
.obj-hero {
  padding: 120px 0 60px;
  background: var(--bg-0);
  position: relative;
  overflow: hidden;
}
.obj-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% 0%, rgba(201,168,76,.1) 0%, transparent 60%);
  pointer-events: none;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  color: var(--text-4);
  margin-bottom: 20px;
}
.breadcrumb a { color:var(--text-4); transition:color var(--dur); }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:var(--text-4); }
.breadcrumb .current { color:var(--text-2); }

.obj-title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  font-weight: 700;
  color: var(--text-1);
  line-height: 1.1;
  margin-bottom: 16px;
}
.obj-badges {
  display: flex; flex-wrap:wrap; gap:8px; margin-bottom:12px;
}
.badge {
  padding: 4px 12px;
  border-radius: var(--r-full);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .06em;
}
.badge-cat  { background:rgba(201,168,76,.12); border:1px solid var(--border-2); color:var(--gold); }
.badge-date { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:var(--text-3); }

/* Audience selector */
.audience-selector {
  background: var(--bg-1);
  border-bottom: 1px solid var(--border-1);
  padding: 20px 0;
  position: sticky;
  top: 70px;
  z-index: 100;
}
.audience-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.audience-tabs::-webkit-scrollbar { display:none; }
.audience-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: var(--r-sm);
  border: 1px solid var(--border-1);
  background: transparent;
  color: var(--text-3);
  font-size: .88rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--dur) var(--ease);
  white-space: nowrap;
  flex-shrink: 0;
}
.audience-tab:hover { border-color:var(--border-2); color:var(--text-1); }
.audience-tab.active {
  background: rgba(201,168,76,.12);
  border-color: var(--gold);
  color: var(--gold);
  font-weight: 600;
}
.audience-tab .tab-icon { font-size:1.1rem; }

/* Swiper carousel */
.obj-gallery { background:var(--bg-0); padding: 60px 0; }
.gallery-swiper {
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--border-1);
  background: var(--bg-2);
}
.gallery-swiper .swiper-slide img {
  width:100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.swiper-pagination-bullet { background:var(--text-4)!important; }
.swiper-pagination-bullet-active { background:var(--gold)!important; }
.swiper-button-next, .swiper-button-prev {
  color: var(--gold) !important;
  background: rgba(6,9,15,.7);
  width: 44px!important; height: 44px!important;
  border-radius: var(--r-sm)!important;
}
.swiper-button-next::after, .swiper-button-prev::after { font-size:.9rem!important; }

/* Object content panels */
.obj-content { background:var(--bg-1); padding:60px 0; }
.content-panel { display:none; }
.content-panel.active { display:block; }
.content-card {
  background: var(--bg-card);
  border: 1px solid var(--border-1);
  border-radius: var(--r-xl);
  padding: 40px;
  position: relative;
  overflow: hidden;
}
.content-card::before {
  content: '';
  position: absolute;
  top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.content-lead {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-style: italic;
  color: var(--gold-mid);
  margin-bottom: 20px;
  line-height: 1.5;
}
.content-text { font-size:.97rem; color:var(--text-2); line-height:1.8; }
.curiosities {
  background: rgba(201,168,76,.06);
  border: 1px solid var(--border-2);
  border-radius: var(--r-lg);
  padding: 24px;
  margin-top: 28px;
}
.curiosities h4 {
  color: var(--gold);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:12px;
  display:flex; align-items:center; gap:8px;
}
.curiosities p { font-size:.9rem; color:var(--text-3); line-height:1.7; }

/* Technical details */
.obj-details { background:var(--bg-0); padding:60px 0; }
.details-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.detail-item {
  background: var(--bg-card);
  border: 1px solid var(--border-1);
  border-radius: var(--r-lg);
  padding: 20px;
  transition: border-color var(--dur);
}
.detail-item:hover { border-color:var(--border-2); }
.detail-label {
  font-size:.73rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--text-4);
  margin-bottom:6px;
}
.detail-value { font-size:.95rem; color:var(--text-2); line-height:1.5; }

/* Videos */
.obj-videos { background:var(--bg-1); padding:60px 0; }
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); gap:24px; }
.video-wrap { border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border-2); background:var(--bg-2); }
.video-wrap video { width:100%; display:block; aspect-ratio:16/9; }
.video-label { padding:12px 16px; font-size:.82rem; color:var(--text-4); display:flex; align-items:center; gap:8px; }
.video-label i { color:var(--gold); }

/* QR code display */
.obj-qr { background:var(--bg-0); padding:60px 0; }
.qr-card {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  background:var(--bg-card);
  border:1px solid var(--border-2);
  border-radius:var(--r-xl);
  padding:36px 48px;
  text-align:center;
}
.qr-card img { width:180px; height:180px; border-radius:var(--r-sm); background:#fff; padding:8px; }
.qr-card p { font-size:.85rem; color:var(--text-3); }

/* ---- AOS Animations ---- */
[data-aos] { opacity:0; transition:opacity .6s var(--ease), transform .6s var(--ease); }
[data-aos="fade-up"] { transform:translateY(30px); }
[data-aos="fade-right"] { transform:translateX(-30px); }
[data-aos="fade-left"]  { transform:translateX(30px); }
[data-aos].aos-animate  { opacity:1; transform:none; }

/* ---- Responsive ---- */
@media (max-width:900px) {
  .about-grid   { grid-template-columns:1fr; }
  .about-visual { display:none; }
  .visit-grid   { grid-template-columns:1fr; }
  .footer-grid  { grid-template-columns:1fr 1fr; }
  .hero-stats   { flex-wrap:wrap; }
  .hero-stat    { min-width:140px; }
}
@media (max-width:640px) {
  .navbar { padding:0 16px; }
  .nav-links { display:none; flex-direction:column; position:fixed; top:70px; left:0; right:0; background:rgba(6,9,15,.97); padding:20px; border-bottom:1px solid var(--border-1); z-index:999; }
  .nav-links.open { display:flex; }
  .nav-toggle { display:flex; }
  .section { padding:60px 0; }
  .footer-grid { grid-template-columns:1fr; }
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; }
  .content-card { padding:24px; }
  .video-grid { grid-template-columns:1fr; }
}
