/* ═══════════════════════════════════════════════════════════════
   SimCzech Custom Styles — v4.0 Visual Overhaul
   Dark aerospace theme with glass-morphism
   ═══════════════════════════════════════════════════════════════ */

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
  --sc-glow: rgba(240, 180, 41, 0.15);
  --sc-glow-strong: rgba(240, 180, 41, 0.3);
  --sc-border: rgba(255, 255, 255, 0.08);
  --sc-border-hover: rgba(240, 180, 41, 0.25);
  --sc-glass: rgba(30, 41, 59, 0.6);
  --sc-glass-solid: rgba(30, 41, 59, 0.85);
  --sc-text-muted: rgba(226, 232, 240, 0.6);
  --sc-text-secondary: rgba(226, 232, 240, 0.75);
  --sc-gradient-card: linear-gradient(145deg, rgba(30, 41, 59, 0.9) 0%, rgba(var(--sc-bg-rgb, 15, 23, 42), 0.95) 100%);
  --sc-gradient-accent: linear-gradient(135deg, var(--sc-primary, #f0b429), var(--sc-primary-light, #f59e0b), #eab308);
  --sc-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── CARDS ──────────────────────────────────────────────────── */

.sc-card {
  background: var(--sc-gradient-card);
  border: 1px solid var(--sc-border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform var(--sc-transition),
              box-shadow var(--sc-transition),
              border-color var(--sc-transition);
  position: relative;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Gradient border glow on hover */
.sc-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 17px;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.12) 0%,
    transparent 40%,
    transparent 60%,
    rgba(240, 180, 41, 0.08) 100%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--sc-transition);
}

.sc-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 30px var(--sc-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  border-color: var(--sc-border-hover);
}

.sc-card:hover::before {
  opacity: 1;
}

/* Card image */
.sc-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, var(--sc-bg-secondary, #1e3a5f) 0%, var(--sc-bg-dark, #0f172a) 100%);
}

.sc-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
              filter 0.5s ease;
}

.sc-card:hover .sc-card__image img {
  transform: scale(1.08);
  filter: brightness(1.1);
}

/* Placeholder — aviation radar grid */
.sc-card__image--placeholder {
  background:
    radial-gradient(ellipse at 30% 80%, rgba(59, 130, 246, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 20%, rgba(139, 92, 246, 0.25) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(240, 180, 41, 0.08) 0%, transparent 70%),
    linear-gradient(160deg, var(--sc-bg-secondary, #1e293b) 0%, var(--sc-bg-dark, #0f172a) 40%, #1a1a2e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sc-card__image--placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.7;
}

.sc-card__image--placeholder::after {
  content: '';
  position: absolute;
  inset: -50% 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.03) 45%,
    rgba(255, 255, 255, 0.06) 50%,
    rgba(255, 255, 255, 0.03) 55%,
    transparent 100%
  );
  transform: rotate(15deg);
  animation: sc-shimmer 4s ease-in-out infinite;
}

@keyframes sc-shimmer {
  0%, 100% { transform: rotate(15deg) translateX(-120%); }
  50%      { transform: rotate(15deg) translateX(120%); }
}

.sc-card__placeholder-icon {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 0.12);
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.15));
}

.sc-card__placeholder-icon svg {
  width: 56px;
  height: 56px;
}

/* Type badge */
.sc-card__type-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  transition: transform var(--sc-transition), box-shadow var(--sc-transition);
}

.sc-card:hover .sc-card__type-badge {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Badge colors per type */
.node--type-news .sc-card__type-badge {
  background: rgba(59, 130, 246, 0.85);
  color: #fff;
}
.node--type-mod .sc-card__type-badge,
.node--type-modifikace .sc-card__type-badge {
  background: rgba(240, 180, 41, 0.85);
  color: #1a1a2e;
}
.node--type-tutorial .sc-card__type-badge {
  background: rgba(16, 185, 129, 0.85);
  color: #fff;
}
.node--type-review .sc-card__type-badge,
.node--type-recenze .sc-card__type-badge {
  background: rgba(236, 72, 153, 0.85);
  color: #fff;
}
.node--type-gallery .sc-card__type-badge,
.node--type-galerie .sc-card__type-badge {
  background: rgba(139, 92, 246, 0.85);
  color: #fff;
}
.node--type-blog .sc-card__type-badge,
.node--type-forum .sc-card__type-badge {
  background: rgba(20, 184, 166, 0.85);
  color: #fff;
}
.node--type-clanek .sc-card__type-badge,
.node--type-article .sc-card__type-badge {
  background: rgba(99, 102, 241, 0.85);
  color: #fff;
}

/* Card body */
.sc-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Card tags */
.sc-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.sc-card__tags a {
  display: inline-block;
  font-size: 0.7rem;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(59, 130, 246, 0.12);
  color: #93c5fd;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.3px;
  transition: background var(--sc-transition), color var(--sc-transition);
  border: 1px solid rgba(59, 130, 246, 0.15);
}

.sc-card__tags a:hover {
  background: rgba(59, 130, 246, 0.25);
  color: #bfdbfe;
}

/* Card title */
.sc-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 10px;
  letter-spacing: -0.2px;
}

.sc-card__title a {
  color: #f1f5f9;
  text-decoration: none;
  transition: color var(--sc-transition);
}

.sc-card:hover .sc-card__title a {
  color: var(--sc-primary, #f0b429);
}

/* Card perex */
.sc-card__perex {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--sc-text-secondary);
  margin-bottom: 14px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card meta */
.sc-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: 0.78rem;
  color: var(--sc-text-muted);
  margin-bottom: 6px;
}

.sc-card__date,
.sc-card__author {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.sc-card__date svg,
.sc-card__author svg {
  opacity: 0.5;
}

/* Version badge */
.sc-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(240, 180, 41, 0.15);
  color: var(--sc-primary, #f0b429);
  border: 1px solid rgba(240, 180, 41, 0.2);
  margin-top: 4px;
}

/* Rating stars */
.sc-card__star {
  color: rgba(255, 255, 255, 0.15);
}
.sc-card__star--filled {
  color: var(--sc-primary, #f0b429);
  filter: drop-shadow(0 0 4px rgba(240, 180, 41, 0.4));
}

/* Card footer */
.sc-card__footer {
  padding: 14px 20px;
  border-top: 1px solid var(--sc-border);
  background: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.4);
}

.sc-card__read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.83rem;
  font-weight: 600;
  color: var(--sc-primary, #f0b429);
  text-decoration: none;
  transition: gap var(--sc-transition), color var(--sc-transition);
}

.sc-card__read-more svg {
  transition: transform var(--sc-transition);
}

.sc-card:hover .sc-card__read-more {
  gap: 10px;
}

.sc-card:hover .sc-card__read-more svg {
  transform: translateX(4px);
}

/* ── VIEWS ──────────────────────────────────────────────────── */

.view-content .views-row {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

/* ── VIEWS EXPOSED FORM (filter bar) ────────────────────────── */
.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--sc-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--sc-border);
  margin-bottom: 1.5rem;
}

.views-exposed-form .form-item {
  margin: 0;
  flex: 1;
  min-width: 180px;
}

.views-exposed-form label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--sc-text-muted);
  margin-bottom: 6px;
  display: block;
}

.views-exposed-form select,
.views-exposed-form .form-select {
  width: 100%;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.7);
  color: #e2e8f0;
  font-size: 0.9rem;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256' fill='%23e2e8f0'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 36px;
  transition: border-color var(--sc-transition), box-shadow var(--sc-transition);
  cursor: pointer;
}

.views-exposed-form select:focus {
  outline: none;
  border-color: rgba(240, 180, 41, 0.5);
  box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.15);
}

.views-exposed-form .form-actions {
  margin: 0;
}

.views-exposed-form .form-submit,
.views-exposed-form .button {
  padding: 10px 24px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, var(--sc-primary, #f0b429), var(--sc-primary-light, #f59e0b));
  color: #1a1a2e;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--sc-transition),
              box-shadow var(--sc-transition),
              filter var(--sc-transition);
  box-shadow: 0 2px 10px rgba(240, 180, 41, 0.25);
}

.views-exposed-form .form-submit:hover,
.views-exposed-form .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(240, 180, 41, 0.35);
  filter: brightness(1.1);
}

/* ── SECTION HEADINGS ───────────────────────────────────────── */

.region-content section header h2,
.region-content section header h3 {
  color: #ffffff;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.region-content section header h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: var(--sc-gradient-accent);
  margin-top: 12px;
}

.region-content section header .text-center h2::after,
.region-content section header h2.text-center::after {
  margin-left: auto;
  margin-right: auto;
}

/* ── SIDEBAR ────────────────────────────────────────────────── */
.layout-sidebar-second {
  /* No independent scroll — flows with main content */
  position: relative;
  align-self: stretch; /* v35: enable sticky ads in grid child */




}

.sidebar-block {
  background: var(--sc-glass-solid);
  border: 1px solid var(--sc-border);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px;
  transition: border-color var(--sc-transition);
}

.sidebar-block:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.sidebar-block__title {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #ffffff;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--sc-border);
}

/* Quick nav */
.sc-quick-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sc-quick-nav li {
  margin: 0;
  border-bottom: none;
  padding: 0;
}

.sc-quick-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--sc-text-secondary);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  transition: background var(--sc-transition), color var(--sc-transition),
              transform var(--sc-transition);
}

.sc-quick-nav a:hover {
  background: rgba(240, 180, 41, 0.1);
  color: var(--sc-primary, #f0b429);
  transform: translateX(4px);
}

.sc-quick-nav__icon {
  font-size: 1.1rem;
  width: 24px;
  text-align: center;
}

/* Stats */
.sc-sidebar-stats {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
}

.sc-stat-row {
  display: contents;
}

.sc-stat-label {
  font-size: 0.83rem;
  color: var(--sc-text-secondary);
}

.sc-stat-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--sc-primary, #f0b429);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sc-stat-row--total .sc-stat-label {
  padding-top: 8px;
  border-top: 1px solid var(--sc-border);
  font-weight: 600;
}

.sc-stat-row--total .sc-stat-value {
  padding-top: 8px;
  border-top: 1px solid var(--sc-border);
  color: #3b82f6;
  font-size: 0.95rem;
}

/* Sim list */
.sc-sim-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sc-sim-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--sc-text-secondary);
  font-size: 0.88rem;
  transition: background var(--sc-transition), color var(--sc-transition);
}

.sc-sim-item:hover {
  background: rgba(59, 130, 246, 0.1);
  color: #93c5fd;
}

.sc-sim-badge {
  margin-left: auto;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
}

.sc-sim-badge--hot {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.sc-sim-badge--new {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

/* Tags */
.sc-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sc-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(99, 102, 241, 0.1);
  color: #a5b4fc;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 500;
  border: 1px solid rgba(99, 102, 241, 0.15);
  transition: background var(--sc-transition), color var(--sc-transition),
              border-color var(--sc-transition);
}

.sc-tag:hover {
  background: rgba(99, 102, 241, 0.2);
  color: #c7d2fe;
  border-color: rgba(99, 102, 241, 0.3);
}

.sc-tag__count {
  font-size: 0.65rem;
  font-weight: 700;
  opacity: 0.6;
}

.sc-tag--large {
  padding: 5px 12px;
  font-size: 0.82rem;
}

/* Sidebar news */
.sc-sidebar-news-item {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--sc-border);
}

.sc-sidebar-news-item:last-child {
  border-bottom: none;
}

.sc-sidebar-news-icon {
  font-size: 1rem;
  padding-top: 2px;
}

.sc-sidebar-news-link {
  color: var(--sc-text-secondary);
  text-decoration: none;
  font-size: 0.83rem;
  line-height: 1.4;
  font-weight: 500;
  transition: color var(--sc-transition);
  display: block;
}

.sc-sidebar-news-link:hover {
  color: var(--sc-primary, #f0b429);
}

.sc-sidebar-news-date {
  font-size: 0.72rem;
  color: var(--sc-text-muted);
  display: block;
  margin-top: 3px;
}

/* Newsletter */
.sc-newsletter-block {
  background: linear-gradient(135deg, rgba(240, 180, 41, 0.08), rgba(59, 130, 246, 0.08)) !important;
  border-color: rgba(240, 180, 41, 0.15) !important;
}

.sc-newsletter-desc {
  font-size: 0.85rem;
  color: var(--sc-text-secondary);
  line-height: 1.5;
  margin: 0 0 12px;
}

.sc-newsletter-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  border-radius: 10px;
  background: var(--sc-gradient-accent);
  color: #1a1a2e;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.85rem;
  transition: transform var(--sc-transition), box-shadow var(--sc-transition);
  box-shadow: 0 2px 10px rgba(240, 180, 41, 0.2);
}

.sc-newsletter-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(240, 180, 41, 0.3);
}

/* Events */
.sc-events {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sc-event-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.5);
  border: 1px solid var(--sc-border);
}

.sc-event-date {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--sc-primary, #f0b429);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.sc-event-name {
  font-size: 0.83rem;
  color: var(--sc-text-secondary);
}

.sc-events-link {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  font-size: 0.83rem;
  font-weight: 600;
  color: #3b82f6;
  text-decoration: none;
  transition: color var(--sc-transition);
}

.sc-events-link:hover {
  color: #60a5fa;
}

/* ── FOOTER ─────────────────────────────────────────────────── */
.site-footer-wrapper {
  border-top: 1px solid var(--sc-border);
  background: var(--sc-footer-bg, #0a0f1e);
}

/* ── NODE FULL VIEW — dark theme ────────────────────────────── */
.node--view-mode-full .field--name-body,
.node--view-mode-full .field--name-field-content {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--sc-text-secondary);
}

.node--view-mode-full .field--name-body h2,
.node--view-mode-full .field--name-field-content h2 {
  color: #ffffff;
  margin-top: 35px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(240, 180, 41, 0.2);
}

.node--view-mode-full .field--name-body h3,
.node--view-mode-full .field--name-field-content h3 {
  color: var(--sc-primary, #f0b429);
  margin-top: 25px;
}

.node--view-mode-full .field--name-body a {
  color: #3b82f6;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--sc-transition);
}

.node--view-mode-full .field--name-body a:hover {
  color: #60a5fa;
}

.node--view-mode-full .field--name-body pre {
  background: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.8);
  color: #e2e8f0;
  padding: 20px;
  border-radius: 12px;
  border: 1px solid var(--sc-border);
  overflow-x: auto;
  font-size: 0.9em;
}

.node--view-mode-full .field--name-body code {
  background: rgba(30, 41, 59, 0.8);
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 0.9em;
  color: var(--sc-primary, #f0b429);
}

.node--view-mode-full .field--name-body pre code {
  background: transparent;
  padding: 0;
  color: inherit;
}

/* ── WARNINGS — less obtrusive ──────────────────────────────── */
.messages--warning {
  background: rgba(240, 180, 41, 0.08);
  border: 1px solid rgba(240, 180, 41, 0.2);
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 0.82rem;
  color: var(--sc-text-muted);
}

/* ── RATING / DIFFICULTY ────────────────────────────────────── */
.field--name-field-rating {
  color: var(--sc-primary, #f0b429);
  font-weight: 700;
  font-size: 1.2em;
}

.field--name-field-difficulty {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ── CARD ENTRANCE ANIMATION ────────────────────────────────── */
.sc-card {
  opacity: 0;
  transform: translateY(20px);
  animation: sc-fadeInUp 0.5s ease forwards;
}

.view-content .views-row:nth-child(1) .sc-card { animation-delay: 0s; }
.view-content .views-row:nth-child(2) .sc-card { animation-delay: 0.1s; }
.view-content .views-row:nth-child(3) .sc-card { animation-delay: 0.15s; }
.view-content .views-row:nth-child(4) .sc-card { animation-delay: 0.2s; }
.view-content .views-row:nth-child(5) .sc-card { animation-delay: 0.25s; }
.view-content .views-row:nth-child(6) .sc-card { animation-delay: 0.3s; }

@keyframes sc-fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-card__body {
    padding: 16px;
  }

  .sc-card__title {
    font-size: 1rem;
  }

  .sc-card__footer {
    padding: 12px 16px;
  }

  .views-exposed-form {
    padding: 14px 16px;
  }

  .views-exposed-form .form-item {
    min-width: 100%;
  }

  .layout-sidebar-second {
    position: static;
    max-height: none;
  }
}

/* ── Remove old light-theme overrides ───────────────────────── */
.views-row {
  border-bottom: none;
}


/* v35: Sticky sidebar ad wrapper — ensure proper sticky behavior */
.sc-ad--sidebar-sticky-wrap {
  position: sticky !important;
  top: 80px;
  z-index: 10;
}

/* v35: Ensure sidebar blocks before sticky don't break flow */
.layout-sidebar-second > .sidebar-block,
.layout-sidebar-second > .block {
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   SWIPER / SLIDER STYLES
   ═══════════════════════════════════════════════════════════════ */

.sc-swiper {
  position: relative;
  overflow: hidden;
  padding-bottom: 50px; /* room for pagination */
}

/* Reset grid when swiper is active */
.sc-swiper .swiper-wrapper {
  display: flex !important;
  grid-template-columns: none !important;
}

.sc-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.sc-swiper .swiper-slide .sc-card {
  flex: 1;
  animation: none;
  opacity: 1;
  transform: none;
}

/* Navigation arrows */
.sc-swiper .swiper-button-prev,
.sc-swiper .swiper-button-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sc-glass-solid);
  border: 1px solid var(--sc-border);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background var(--sc-transition),
              border-color var(--sc-transition),
              transform var(--sc-transition),
              box-shadow var(--sc-transition);
  top: calc(50% - 25px);
}

.sc-swiper .swiper-button-prev::after,
.sc-swiper .swiper-button-next::after {
  font-size: 18px;
  font-weight: 700;
  color: var(--sc-primary, #f0b429);
}

.sc-swiper .swiper-button-prev:hover,
.sc-swiper .swiper-button-next:hover {
  background: rgba(240, 180, 41, 0.15);
  border-color: var(--sc-border-hover);
  box-shadow: 0 4px 20px rgba(240, 180, 41, 0.2);
  transform: scale(1.08);
}

.sc-swiper .swiper-button-prev {
  left: 4px;
}

.sc-swiper .swiper-button-next {
  right: 4px;
}

/* Pagination bullets */
.sc-swiper .swiper-pagination {
  bottom: 6px !important;
}

.sc-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.2);
  opacity: 1;
  transition: background var(--sc-transition), transform var(--sc-transition);
}

.sc-swiper .swiper-pagination-bullet-active {
  background: var(--sc-primary, #f0b429);
  transform: scale(1.3);
  box-shadow: 0 0 10px rgba(240, 180, 41, 0.4);
}

/* Hide arrows on mobile — swipe is intuitive */
@media (max-width: 768px) {
  .sc-swiper .swiper-button-prev,
  .sc-swiper .swiper-button-next {
    display: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   AD ABOVE HERO — spacing
   ═══════════════════════════════════════════════════════════════ */

/* Ad placed before hero gets subtle top spacing */
.sc-ad--leaderboard + section.cq-full {
  margin-top: 0 !important;
}

/* The ad before the hero */
section.cq-full ~ .sc-ad--leaderboard {
  margin-top: 0;
}

.region-content > .sc-ad--leaderboard:first-child {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* ═══════════════════════════════════════════════════════════════
   EMPTY FILTER BAR — hide if no filters
   ═══════════════════════════════════════════════════════════════ */

.view-filters:empty,
.view-filters:has(> :empty) {
  display: none;
}

/* Novinky empty filter bar — hide */
.view-novinky .view-filters {
  display: none;
}

/* ═══════════════════════════════════════════════════════════════
   SECTION SPACING AND POLISH
   ═══════════════════════════════════════════════════════════════ */

/* Muted background sections — improve contrast */
section:has(.view-modifikace) {
  background: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.4);
}

/* Explore SimCzech section cards */
.bg-muted.text-muted-foreground[class*="cursor-pointer"] {
  backdrop-filter: blur(8px);
  border: 1px solid var(--sc-border);
}

.bg-muted.text-muted-foreground[class*="cursor-pointer"]:hover {
  border-color: var(--sc-border-hover);
}

/* Section that uses text-muted-foreground — ensure readable */
section.text-muted-foreground {
  color: var(--sc-text-secondary);
}

section.text-muted-foreground h3 {
  color: #ffffff;
}

/* ═══════════════════════════════════════════════════════════════
   MISSING SIDEBAR HOOKS COMPONENTS
   User Panel, Leaderboard, Forum, Slider, Gallery, Homepage
   ═══════════════════════════════════════════════════════════════ */

/* ── USER PANEL (gamification) ──────────────────────────────── */
.sc-user-panel {
  text-align: center;
}
.sc-user-panel__info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.sc-user-panel__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sc-accent, #f0b429), #e67e22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.sc-user-panel__details {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.sc-user-panel__name {
  font-weight: 600;
  color: #fff;
  font-size: 0.95rem;
}
.sc-user-panel__level {
  font-size: 0.8rem;
  color: var(--sc-text-secondary, #94a3b8);
}
.sc-user-panel__stats {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.sc-user-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 4px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
}
.sc-user-stat__value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--sc-accent, #f0b429);
}
.sc-user-stat__label {
  font-size: 0.7rem;
  color: var(--sc-text-secondary, #94a3b8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sc-user-panel__progress {
  margin-bottom: 12px;
}
.sc-user-panel__progress-bar {
  height: 6px;
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 4px;
}
.sc-user-panel__progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--sc-accent, #f0b429), #e67e22);
  border-radius: 3px;
  transition: width 0.5s ease;
}
.sc-user-panel__progress-text {
  font-size: 0.75rem;
  color: var(--sc-text-secondary, #94a3b8);
}
.sc-user-panel__actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.sc-user-panel__link {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.8rem;
  color: var(--sc-accent, #f0b429);
  background: rgba(240, 180, 41, 0.1);
  text-decoration: none;
  transition: all 0.2s;
}
.sc-user-panel__link:hover {
  background: rgba(240, 180, 41, 0.2);
  color: #fff;
}

/* ── SIDEBAR LEADERBOARD ────────────────────────────────────── */
.sc-leaderboard {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sc-leaderboard__row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,0.03);
  transition: background 0.2s;
}
.sc-leaderboard__row:hover {
  background: rgba(255,255,255,0.06);
}
.sc-leaderboard__rank {
  font-size: 1.1rem;
  width: 28px;
  text-align: center;
}
.sc-leaderboard__name {
  flex: 1;
  font-size: 0.85rem;
  color: var(--sc-text, #e2e8f0);
}
.sc-leaderboard__points {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--sc-accent, #f0b429);
}

/* ═══════════════════════════════════════════════════════════════
   FORUM CATEGORIES — DCS-style layout
   ═══════════════════════════════════════════════════════════════ */
.sc-forum-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.sc-forum-page-title {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
}
.sc-forum-new-topic {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, var(--sc-accent, #f0b429), #e67e22);
  color: #000 !important;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s;
  border: none;
  cursor: pointer;
}
.sc-forum-new-topic:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(240, 180, 41, 0.3);
}

/* Forum stats bar */
.sc-forum-stats-bar {
  display: flex;
  gap: 24px;
  padding: 16px 20px;
  background: rgba(255,255,255,0.04);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.sc-forum-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sc-forum-stat-num {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--sc-accent, #f0b429);
}
.sc-forum-stat-label {
  font-size: 0.75rem;
  color: var(--sc-text-secondary, #94a3b8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Forum category (collapsible section) */
.sc-forum-category {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}
.sc-forum-category__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  transition: background 0.2s;
}
.sc-forum-category__header:hover {
  background: rgba(255,255,255,0.06);
}
.sc-forum-category__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
}
.sc-forum-category__toggle {
  color: var(--sc-text-secondary, #94a3b8);
  font-size: 0.8rem;
  transition: transform 0.3s;
}

/* Forum row (individual subforum) */
.sc-forum-row {
  display: grid;
  grid-template-columns: 40px 1fr 100px 200px;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-top: 1px solid rgba(255,255,255,0.05);
  transition: background 0.2s;
}
.sc-forum-row:hover {
  background: rgba(255,255,255,0.03);
}
.sc-forum-row__icon {
  font-size: 1.3rem;
  text-align: center;
}
.sc-forum-row__info {
  min-width: 0;
}
.sc-forum-row__name a {
  color: var(--sc-text, #e2e8f0);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.2s;
}
.sc-forum-row__name a:hover {
  color: var(--sc-accent, #f0b429);
}
.sc-forum-row__stats {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sc-forum-row__count {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--sc-accent, #f0b429);
}
.sc-forum-row__count-label {
  font-size: 0.7rem;
  color: var(--sc-text-secondary, #94a3b8);
}

/* Forum row — latest post */
.sc-forum-row__latest {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.sc-forum-row__latest-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
}
.sc-forum-row__latest-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sc-forum-row__latest-title {
  font-size: 0.8rem;
  color: var(--sc-text, #e2e8f0);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sc-forum-row__latest-meta {
  font-size: 0.7rem;
  color: var(--sc-text-secondary, #94a3b8);
}

/* ── FORUM RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-forum-row {
    grid-template-columns: 32px 1fr;
    gap: 8px;
    padding: 12px 16px;
  }
  .sc-forum-row__stats,
  .sc-forum-row__latest {
    display: none;
  }
  .sc-forum-stats-bar {
    gap: 16px;
    justify-content: center;
  }
  .sc-forum-top {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ═══════════════════════════════════════════════════════════════
   CUSTOM SLIDER (SidebarHooks — homepage hero slider)
   ═══════════════════════════════════════════════════════════════ */
.sc-slider {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 32px;
  background: var(--sc-surface, #1e293b);
  border: 1px solid rgba(255,255,255,0.08);
}
.sc-slider__track {
  position: relative;
  min-height: 300px;
}
.sc-slider__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  display: flex;
}
.sc-slider__slide.active {
  opacity: 1;
  position: relative;
}
.sc-slider__slide-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}
.sc-slider__slide-content {
  position: relative;
  z-index: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
}
.sc-slider__slide-badge {
  display: inline-block;
  padding: 4px 12px;
  background: var(--sc-accent, #f0b429);
  color: #000;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  align-self: flex-start;
}
.sc-slider__slide-title {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-weight: 800;
}
.sc-slider__slide-title a {
  color: #fff;
  text-decoration: none;
}
.sc-slider__slide-title a:hover {
  color: var(--sc-accent, #f0b429);
}
.sc-slider__slide-perex {
  color: var(--sc-text-secondary, #94a3b8);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
  max-width: 600px;
}
/* Slider nav arrows */
.sc-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}
.sc-slider__nav:hover {
  background: rgba(240, 180, 41, 0.8);
  border-color: var(--sc-accent, #f0b429);
}
.sc-slider__nav--prev { left: 12px; }
.sc-slider__nav--next { right: 12px; }
.sc-slider__dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: 8px;
}
.sc-slider__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.sc-slider__dot.active {
  background: var(--sc-accent, #f0b429);
  transform: scale(1.3);
}

/* ═══════════════════════════════════════════════════════════════
   GALLERY HEADER
   ═══════════════════════════════════════════════════════════════ */
.sc-gallery-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.sc-gallery-title {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
}
.sc-gallery-stats {
  display: flex;
  gap: 16px;
  color: var(--sc-text-secondary, #94a3b8);
  font-size: 0.9rem;
}
.sc-gallery-stats span::before {
  content: "•";
  margin-right: 6px;
  color: var(--sc-accent, #f0b429);
}
.sc-gallery-upload {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, var(--sc-accent, #f0b429), #e67e22);
  color: #000 !important;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s;
}
.sc-gallery-upload:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(240, 180, 41, 0.3);
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE SECTIONS (renderHomepageBlocks)
   ═══════════════════════════════════════════════════════════════ */
.homepage-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}
.homepage-section__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
}
.homepage-section__link {
  color: var(--sc-accent, #f0b429);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.2s;
}
.homepage-section__link:hover {
  color: #fff;
}

/* Homepage leaderboard */
.sc-homepage-leaderboard {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sc-hp-leader {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: all 0.2s;
}
.sc-hp-leader:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
}
.sc-hp-leader__rank {
  font-size: 1.2rem;
  width: 28px;
  text-align: center;
}
.sc-hp-leader__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sc-accent, #f0b429), #e67e22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.sc-hp-leader__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sc-hp-leader__name {
  font-weight: 600;
  color: #fff;
  font-size: 0.9rem;
}
.sc-hp-leader__level {
  font-size: 0.75rem;
  color: var(--sc-text-secondary, #94a3b8);
}
.sc-hp-leader__points {
  font-weight: 700;
  color: var(--sc-accent, #f0b429);
  font-size: 0.9rem;
  white-space: nowrap;
}

/* Homepage newsletter promo */
.sc-hp-newsletter {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 32px;
  background: linear-gradient(135deg, rgba(240, 180, 41, 0.08), rgba(230, 126, 34, 0.08));
  border: 1px solid rgba(240, 180, 41, 0.2);
  border-radius: 16px;
  flex-wrap: wrap;
}
.sc-hp-newsletter__icon {
  font-size: 2.5rem;
}
.sc-hp-newsletter__text {
  flex: 1;
  min-width: 200px;
}
.sc-hp-newsletter__text h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 1.2rem;
}
.sc-hp-newsletter__text p {
  margin: 0;
  color: var(--sc-text-secondary, #94a3b8);
  font-size: 0.9rem;
  line-height: 1.5;
}
.sc-hp-newsletter__btn {
  padding: 12px 24px;
  background: linear-gradient(135deg, var(--sc-accent, #f0b429), #e67e22);
  color: #000 !important;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s;
  white-space: nowrap;
}
.sc-hp-newsletter__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(240, 180, 41, 0.3);
}

/* Ensure our styled forum content appears above default content */
.path-forum #block-byte-theme-main-content {
  position: relative;
}

/* ═══════════════════════════════════════════════════════════════
   TWO-COLUMN LAYOUT: Content + Sidebar
   ═══════════════════════════════════════════════════════════════ */
.site-layout-with-sidebar {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}
.site-layout-full {
  display: block;
}
.layout-content {
  min-width: 0;
}

@media (max-width: 1024px) {
  .site-layout-with-sidebar {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .layout-sidebar-second {
    position: static;
  }
}

/* ═══ Quick Nav Categorized — v38 ═══ */
.sc-quick-nav-cats {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sc-qn-group {
  border-radius: 8px;
  overflow: hidden;
}

.sc-qn-group[open] {
  background: rgba(255, 255, 255, 0.02);
}

.sc-qn-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--sc-primary, #d4a843);
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
  list-style: none;
  user-select: none;
}

.sc-qn-summary::-webkit-details-marker { display: none; }

.sc-qn-summary::before {
  content: '▸';
  display: inline-block;
  font-size: 0.7rem;
  transition: transform 0.2s;
  color: #888;
  width: 12px;
  flex-shrink: 0;
}

.sc-qn-group[open] > .sc-qn-summary::before {
  transform: rotate(90deg);
}

.sc-qn-summary:hover {
  background: rgba(212, 168, 67, 0.08);
  color: var(--sc-primary, #f0b429);
}

.sc-qn-group .sc-quick-nav {
  padding: 0 0 4px 14px;
  margin: 0;
  animation: scQnSlideDown 0.15s ease-out;
}

@keyframes scQnSlideDown {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.sc-qn-group .sc-quick-nav li { margin: 0; }

.sc-qn-group .sc-quick-nav a {
  padding: 5px 10px;
  font-size: 0.84rem;
}

.sc-qn-link.sc-qn-active {
  color: var(--sc-primary, #f0b429) !important;
  background: rgba(240, 180, 41, 0.1);
  font-weight: 600;
}
/* ═══ Quick Nav Categorized — v38 ═══ */
.sc-quick-nav-cats {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sc-qn-group {
  border-radius: 8px;
  overflow: hidden;
}

.sc-qn-group[open] {
  background: rgba(255, 255, 255, 0.02);
}

.sc-qn-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--sc-primary, #d4a843);
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
  list-style: none;
  user-select: none;
}

.sc-qn-summary::-webkit-details-marker { display: none; }

.sc-qn-summary::before {
  content: '▸';
  display: inline-block;
  font-size: 0.7rem;
  transition: transform 0.2s;
  color: #888;
  width: 12px;
  flex-shrink: 0;
}

.sc-qn-group[open] > .sc-qn-summary::before {
  transform: rotate(90deg);
}

.sc-qn-summary:hover {
  background: rgba(212, 168, 67, 0.08);
  color: var(--sc-primary, #f0b429);
}

.sc-qn-group .sc-quick-nav {
  padding: 0 0 4px 14px;
  margin: 0;
  animation: scQnSlideDown 0.15s ease-out;
}

@keyframes scQnSlideDown {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.sc-qn-group .sc-quick-nav li { margin: 0; }

.sc-qn-group .sc-quick-nav a {
  padding: 5px 10px;
  font-size: 0.84rem;
}

.sc-qn-link.sc-qn-active {
  color: var(--sc-primary, #f0b429) !important;
  background: rgba(240, 180, 41, 0.1);
  font-weight: 600;
}

/* ─── Quick Nav v39 — Categorized Collapsible ─── */
.sc-qnav-group {
  margin-bottom: 4px;
  border-radius: 8px;
  overflow: hidden;
}
.sc-qnav-group[open] {
  background: rgba(255,255,255,0.03);
}
.sc-qnav-summary {
  cursor: pointer;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #e2e8f0;
  background: rgba(255,255,255,0.05);
  border-radius: 8px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
  user-select: none;
}
.sc-qnav-summary::-webkit-details-marker { display: none; }
.sc-qnav-summary::before {
  content: "▸";
  font-size: 11px;
  color: var(--sc-primary, #d4a843);
  transition: transform 0.2s;
  display: inline-block;
  width: 12px;
}
.sc-qnav-group[open] > .sc-qnav-summary::before {
  transform: rotate(90deg);
}
.sc-qnav-summary:hover {
  background: rgba(212,168,67,0.15);
}
.sc-qnav-count {
  margin-left: auto;
  font-size: 11px;
  color: #94a3b8;
  font-weight: 400;
}
.sc-qnav-group .sc-quick-nav {
  padding: 4px 0 8px 8px;
  margin: 0;
}
.sc-qnav-group .sc-quick-nav li {
  margin: 1px 0;
}
.sc-qnav-group .sc-quick-nav a {
  padding: 5px 10px;
  font-size: 12.5px;
}


/* v40: Robust sticky sidebar for ads */
.site-layout-with-sidebar {
  overflow: visible !important;
}
.layout-sidebar-second {
  align-self: stretch !important;
  overflow: visible !important;
  position: relative;
}
.layout-sidebar-second > .region,
.layout-sidebar-second > .region-sidebar-second,
.layout-sidebar-second > div {
  overflow: visible !important;
}
.sc-ad--sidebar-sticky-wrap {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 80px !important;
  z-index: 10;
  margin-top: 16px;
}


/* v40: Databáze dropdown section headers and sub-items */
/* dropdown-section styles moved to simczech-enhancements.css */
/* dropdown-item--sub styles moved to simczech-enhancements.css */
.sc-navbar__dropdown-item--sub::before {
  content: "›";
  position: absolute;
  left: 14px;
  color: var(--sc-gold, #f0b429);
  font-weight: bold;
}
/* dropdown-item--sub styles moved to simczech-enhancements.css */

/* Mobile subheader */
.sc-navbar__mobile-subheader {
  padding: 8px 16px 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--sc-gold, #f0b429);
  list-style: none;
}
.sc-navbar__mobile-link--sub {
  padding-left: 32px !important;
}


/* v40: Flight Planner export bar + route string */
.sc-export-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sc-export-label {
  color: var(--sc-gold, #f0b429);
  font-size: 0.85rem;
  font-weight: 600;
}
.sc-export-btn {
  background: rgba(240, 180, 41, 0.12);
  border: 1px solid rgba(240, 180, 41, 0.25);
  color: var(--sc-gold, #f0b429);
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.82rem;
  cursor: pointer;
  transition: all 0.2s;
}
.sc-export-btn:hover {
  background: rgba(240, 180, 41, 0.25);
  border-color: var(--sc-gold, #f0b429);
  transform: translateY(-1px);
}
.sc-route-string {
  background: rgba(var(--sc-bg-rgb, 15, 23, 42), 0.5);
  border: 1px solid rgba(240, 180, 41, 0.15);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.9rem;
  color: #38bdf8;
  letter-spacing: 0.5px;
  word-spacing: 4px;
}
.sc-route-string span.sc-route-sep { color: #475569; margin: 0 2px; }
.sc-route-string span.sc-route-wpt--airport { color: #22c55e; font-weight: 700; }
.sc-route-string span.sc-route-wpt--vor { color: #a855f7; }
.sc-route-string span.sc-route-wpt--ndb { color: #f59e0b; }
.sc-route-string span.sc-route-wpt--fix { color: #06b6d4; }
.sc-input--route {
  letter-spacing: 1px;
  font-family: "JetBrains Mono", monospace;
  text-transform: uppercase;
}
.sc-route-help {
  color: #64748b;
  font-size: 0.75rem;
  display: block;
  margin-top: 4px;
}
.sc-planner-field--route {
  grid-column: 1 / -1;
}
.sc-legs-table th:nth-child(6),
.sc-legs-table td:nth-child(6) {
  min-width: 120px;
}
.sc-legs-table th:nth-child(7),
.sc-legs-table td:nth-child(7) {
  min-width: 60px;
}
.sc-navaid-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--sc-bg-card, #1e293b);
  border: 1px solid rgba(240,180,41,0.2);
  border-radius: 0 0 8px 8px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 100;
  display: none;
}
.sc-navaid-search-results .sc-navaid-result {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 0.82rem;
}
.sc-navaid-search-results .sc-navaid-result:hover {
  background: rgba(240,180,41,0.1);
}
.sc-navaid-result__ident {
  font-weight: 700;
  color: var(--sc-gold, #f0b429);
  margin-right: 6px;
}
.sc-navaid-result__type {
  color: #64748b;
  font-size: 0.75rem;
  text-transform: uppercase;
}


/* Admin-configurable background image */
body {
  background-image: var(--sc-bg-image, none);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

/* Admin-configurable fonts */
body {
  font-family: var(--sc-font-body, 'Inter', system-ui, sans-serif);
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--sc-font-heading, 'Inter', system-ui, sans-serif);
}

/* ═══════════════════════════════════════════ */
/* v44: Forum — Dark theme form + phpBB layout */
/* ═══════════════════════════════════════════ */

/* ── Forum comment form — dark theme ── */
.comment-comment-forum-form,
.comment-form {
  background: rgba(15, 23, 42, 0.6) !important;
  border: 1px solid rgba(212, 168, 67, 0.15) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin-top: 1.5rem;
}

.comment-comment-forum-form label,
.comment-form label {
  color: #e2e8f0 !important;
  font-weight: 600;
  font-size: 0.9rem;
}

.comment-comment-forum-form .form-item__label,
.comment-form .form-item__label {
  color: #e2e8f0 !important;
}

/* Textarea & inputs */
.comment-comment-forum-form textarea,
.comment-comment-forum-form input[type="text"],
.comment-comment-forum-form input[type="email"],
.comment-comment-forum-form select,
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form select,
form.comment-form .form-text,
form.comment-form .form-textarea {
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(212, 168, 67, 0.25) !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.95rem;
  transition: border-color 0.2s;
}

.comment-comment-forum-form textarea:focus,
.comment-comment-forum-form input[type="text"]:focus,
.comment-form textarea:focus,
.comment-form input[type="text"]:focus,
form.comment-form .form-text:focus,
form.comment-form .form-textarea:focus {
  border-color: #d4a843 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(212, 168, 67, 0.15) !important;
}

/* Filter tips / "O formátech textu" */
.comment-comment-forum-form .filter-wrapper,
.comment-form .filter-wrapper,
.filter-wrapper {
  background: rgba(15, 23, 42, 0.4) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  margin-top: 0.5rem;
}

.comment-comment-forum-form .filter-help,
.comment-form .filter-help,
.filter-help,
.filter-help a,
.filter-wrapper a,
.tips,
.tips li,
.filter-guidelines,
.filter-guidelines li,
.filter-guidelines-item {
  color: #94a3b8 !important;
}

.comment-comment-forum-form .filter-help a:hover,
.comment-form .filter-help a:hover,
.filter-help a:hover,
.filter-wrapper a:hover {
  color: #d4a843 !important;
}

/* Submit buttons */
.comment-comment-forum-form .form-submit,
.comment-form .form-submit,
.comment-form .button,
.comment-form .button--primary {
  background: linear-gradient(135deg, #d4a843, #b8922e) !important;
  color: #0f172a !important;
  border: none !important;
  padding: 0.6rem 1.5rem !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s;
}

.comment-comment-forum-form .form-submit:hover,
.comment-form .form-submit:hover,
.comment-form .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(212, 168, 67, 0.3);
}

/* Required asterisk */
.comment-comment-forum-form .form-required,
.comment-form .form-required {
  color: #f87171 !important;
}

/* CKEditor / text format selector */
.comment-comment-forum-form .js-form-type-select select,
.comment-form .js-form-type-select select {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border: 1px solid #334155 !important;
}

/* ── phpBB-style forum topic page ── */

/* Comment thread — each comment as a post with user sidebar */
.comment--type-comment-forum,
.forum .comment,
.node--type-forum .comment {
  display: grid !important;
  grid-template-columns: 180px 1fr;
  gap: 0;
  background: rgba(15, 23, 42, 0.4);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  margin-bottom: 1rem;
  overflow: hidden;
}

/* User sidebar (left column) */
.comment--type-comment-forum .comment__author,
.comment--type-comment-forum .field--name-uid,
.forum .comment .comment__meta,
.node--type-forum .comment .comment__meta {
  background: rgba(15, 23, 42, 0.5) !important;
  padding: 1rem !important;
  border-right: 1px solid rgba(255,255,255,0.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
}

/* Username in sidebar */
.comment--type-comment-forum .username,
.comment--type-comment-forum .comment__author .username,
.forum .comment .username,
.node--type-forum .comment .username {
  color: #d4a843 !important;
  font-weight: 700;
  font-size: 0.95rem;
  display: block;
}

/* User avatar/picture in sidebar */
.comment--type-comment-forum .user-picture,
.comment--type-comment-forum img.avatar,
.forum .comment .user-picture img,
.node--type-forum .comment .user-picture img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(212, 168, 67, 0.3);
  object-fit: cover;
}

/* Post content (right column) */
.comment--type-comment-forum .comment__content,
.forum .comment .comment__content,
.node--type-forum .comment .comment__content {
  padding: 1rem 1.25rem !important;
  flex: 1;
}

/* Post header (date, permalink) */
.comment--type-comment-forum .comment__submitted,
.comment--type-comment-forum .comment__permalink,
.forum .comment .comment__submitted {
  color: #64748b !important;
  font-size: 0.8rem;
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Post body text */
.comment--type-comment-forum .field--name-comment-body,
.forum .comment .field--name-comment-body,
.node--type-forum .comment .field--name-comment-body {
  color: #cbd5e1 !important;
  line-height: 1.7;
}

.comment--type-comment-forum .field--name-comment-body p,
.forum .comment .field--name-comment-body p {
  margin: 0 0 0.75rem;
}

/* Post actions (reply, edit, delete) */
.comment--type-comment-forum .links,
.comment--type-comment-forum nav.links,
.forum .comment .links,
.node--type-forum .comment nav.links {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 0.75rem;
  margin-top: 0.75rem;
}

.comment--type-comment-forum .links a,
.forum .comment .links a,
.node--type-forum .comment .links a {
  color: #94a3b8 !important;
  font-size: 0.82rem;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s;
}

.comment--type-comment-forum .links a:hover,
.forum .comment .links a:hover,
.node--type-forum .comment .links a:hover {
  color: #d4a843 !important;
  background: rgba(212, 168, 67, 0.1);
}

/* First post (topic body) — styled like a comment */
.node--type-forum .node__content,
.node--type-forum .field--name-body {
  color: #cbd5e1 !important;
  line-height: 1.7;
}

/* Forum topic header */
.node--type-forum h1,
.node--type-forum .page-title {
  color: #f1f5f9 !important;
  border-bottom: 2px solid rgba(212, 168, 67, 0.2);
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
}

/* Forum breadcrumb */
.node--type-forum .breadcrumb a,
.forum .breadcrumb a {
  color: #94a3b8;
}

.node--type-forum .breadcrumb a:hover,
.forum .breadcrumb a:hover {
  color: #d4a843;
}

/* Forum listing — thread list */
.view-forum .views-row,
.forum .forum-list td,
.forum-list td {
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}

.forum-list td a {
  color: #e2e8f0 !important;
}

.forum-list td a:hover {
  color: #d4a843 !important;
}

/* Comment count / post stats */
.forum .comment-count,
.forum .forum-topic-stats {
  color: #94a3b8 !important;
}

/* "Přidat komentář" heading */
.comment-form h2,
.comment-comment-forum-form h2,
h2.title.comment-form__title {
  color: #f1f5f9 !important;
  font-size: 1.2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(212, 168, 67, 0.15);
}

/* User info below avatar in phpBB style */
.comment--type-comment-forum .comment__author .user-role,
.forum .comment .user-role {
  color: #94a3b8;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.comment--type-comment-forum .comment__author .post-count,
.forum .comment .post-count {
  color: #64748b;
  font-size: 0.72rem;
}

/* Responsive — stack on mobile */
@media (max-width: 768px) {
  .comment--type-comment-forum,
  .forum .comment,
  .node--type-forum .comment {
    grid-template-columns: 1fr !important;
  }

  .comment--type-comment-forum .comment__author,
  .forum .comment .comment__meta {
    flex-direction: row;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding: 0.75rem !important;
  }

  .comment--type-comment-forum .user-picture img {
    width: 40px !important;
    height: 40px !important;
  }
}

/* ── Forum New Topic form ── */
.node-forum-form,
.node-form {
  color: #e2e8f0;
}

.node-forum-form label,
.node-form label {
  color: #e2e8f0 !important;
}

.node-forum-form .form-text,
.node-forum-form .form-textarea,
.node-forum-form select,
.node-form .form-text,
.node-form .form-textarea {
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(212, 168, 67, 0.25) !important;
  border-radius: 8px !important;
}

/* Indented / threaded replies */
.indented {
  margin-left: 1.5rem;
  border-left: 2px solid rgba(212, 168, 67, 0.15);
  padding-left: 0;
}
/* ═══════════════════════════════════════════════════════════════════════════
   SimCzech Forum v47 — Professional Dark Theme (DCS-forum quality)
   ═══════════════════════════════════════════════════════════════════════════ */

.path-forum .page-title,
.path-forum h1.page-title {
  color: #f1f5f9;
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #d4a843;
  margin-bottom: 1.5rem;
}
.forum-topics th, table.forum-topics th {
  background: #1e293b;
  color: #d4a843;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #d4a843;
  text-align: left;
}
.forum-topics td, table.forum-topics td {
  background: #0f172a;
  color: #e2e8f0;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #1e293b;
  vertical-align: middle;
}
.forum-topics tr:hover td, table.forum-topics tr:hover td { background: #1a2744; }
.forum-topics td a, .forum-topic-title a {
  color: #93c5fd;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.2s;
}
.forum-topics td a:hover, .forum-topic-title a:hover { color: #d4a843; text-decoration: underline; }
.path-forum a[href*="node/add/forum"], .forum-add-topic-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.5rem;
  background: linear-gradient(135deg, #d4a843, #b8942f);
  color: #0f172a !important;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s;
  box-shadow: 0 2px 8px rgba(212, 168, 67, 0.3);
}
.path-forum a[href*="node/add/forum"]:hover, .forum-add-topic-link a:hover {
  background: linear-gradient(135deg, #fbbf24, #d4a843);
  box-shadow: 0 4px 16px rgba(212, 168, 67, 0.5);
  transform: translateY(-1px);
}
.path-forum .node--type-forum h1, .path-forum .node__title {
  color: #f1f5f9;
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: 2px solid #d4a843;
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
}
.path-forum .node--type-forum .node__content,
.path-forum .node--type-forum .field--name-body {
  color: #e2e8f0;
  line-height: 1.7;
}

/* ── COMMENT POST BOXES (phpBB/DCS style) ── */
.comment--type-comment-forum {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0;
  background: #0f172a;
  border: 1px solid #1e293b;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  overflow: hidden;
  transition: border-color 0.3s;
}
.comment--type-comment-forum:hover { border-color: rgba(212, 168, 67, 0.3); }
.comment--type-comment-forum:nth-child(even) { background: #0c1324; }

.comment--type-comment-forum .comment__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem 1rem;
  background: #111827;
  border-right: 1px solid #1e293b;
  text-align: center;
  gap: 0.5rem;
}
.comment--type-comment-forum .comment__avatar {
  width: 84px; height: 84px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(212, 168, 67, 0.4);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.comment--type-comment-forum .comment__avatar img,
.comment--type-comment-forum .comment__avatar svg {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.comment--type-comment-forum .comment__author-name { display: block; font-weight: 700; font-size: 0.9rem; }
.comment--type-comment-forum .comment__author-name a { color: #d4a843; text-decoration: none; }
.comment--type-comment-forum .comment__author-name a:hover { color: #fbbf24; text-decoration: underline; }
.comment--type-comment-forum .comment__date { display: block; font-size: 0.75rem; color: #64748b; }

.comment--type-comment-forum .comment__content {
  padding: 1rem 1.25rem;
  min-height: 120px;
  display: flex;
  flex-direction: column;
}
.comment--type-comment-forum .comment__title {
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid #1e293b;
  font-size: 0.85rem;
  color: #94a3b8;
}
.comment--type-comment-forum .field--name-comment-body {
  color: #e2e8f0; line-height: 1.75; font-size: 0.93rem; flex: 1;
}
.comment--type-comment-forum .field--name-comment-body p { margin-bottom: 0.75rem; }
.comment--type-comment-forum .field--name-comment-body a { color: #60a5fa; }
.comment--type-comment-forum .field--name-comment-body a:hover { color: #93c5fd; text-decoration: underline; }

/* Blockquotes */
.comment--type-comment-forum blockquote {
  margin: 0.75rem 0;
  padding: 0.75rem 1rem;
  border-left: 4px solid #d4a843;
  background: #1a2744;
  border-radius: 0 8px 8px 0;
  color: #cbd5e1;
  font-style: normal;
  position: relative;
}
.comment--type-comment-forum blockquote::before {
  content: '\201C';
  position: absolute;
  top: -8px; left: 8px;
  font-size: 2.5rem;
  color: rgba(212, 168, 67, 0.3);
  line-height: 1;
}
.comment--type-comment-forum blockquote p:first-child {
  color: #d4a843;
  font-weight: 600;
  font-size: 0.82rem;
  margin-bottom: 0.4rem;
}

/* Code blocks */
.comment--type-comment-forum pre, .comment--type-comment-forum code {
  background: #1e293b; color: #67e8f9; padding: 0.15rem 0.4rem;
  border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem;
}
.comment--type-comment-forum pre {
  padding: 0.75rem 1rem; border: 1px solid #334155; border-radius: 8px;
  overflow-x: auto; margin: 0.5rem 0;
}
.comment--type-comment-forum pre code { background: none; padding: 0; }

/* Images */
.comment--type-comment-forum .field--name-comment-body img {
  max-width: 100%; height: auto; border-radius: 8px; margin: 0.5rem 0; border: 1px solid #1e293b;
}

/* Tables */
.comment--type-comment-forum table { width: 100%; border-collapse: collapse; margin: 0.5rem 0; }
.comment--type-comment-forum table th, .comment--type-comment-forum table td {
  padding: 0.5rem 0.75rem; border: 1px solid #334155; text-align: left;
}
.comment--type-comment-forum table th { background: #1e293b; color: #d4a843; font-weight: 600; }

/* Attachments */
.comment--type-comment-forum .field--name-field-attachments {
  margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid #1e293b;
}
.comment--type-comment-forum .field--name-field-attachments .field__label {
  color: #94a3b8; font-size: 0.8rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; margin-bottom: 0.4rem;
}
.comment--type-comment-forum .field--name-field-attachments .file {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.35rem 0.75rem; background: #1e293b; border: 1px solid #334155;
  border-radius: 6px; margin: 0.2rem; transition: all 0.2s;
}
.comment--type-comment-forum .field--name-field-attachments .file:hover {
  border-color: #d4a843; background: #1a2744;
}
.comment--type-comment-forum .field--name-field-attachments .file a {
  color: #60a5fa; text-decoration: none; font-size: 0.85rem;
}

/* Action links */
.comment--type-comment-forum .comment__links {
  margin-top: auto; padding-top: 0.75rem; border-top: 1px solid #1e293b;
}
.comment--type-comment-forum .comment__links ul,
.comment--type-comment-forum .comment__links .links {
  display: flex; gap: 0.5rem; flex-wrap: wrap; list-style: none; padding: 0; margin: 0;
}
.comment--type-comment-forum .comment__links li { display: inline-flex; }
.comment--type-comment-forum .comment__links a {
  display: inline-flex; align-items: center; gap: 0.3rem;
  padding: 0.25rem 0.6rem; border-radius: 5px;
  border: 1px solid #334155; background: #1e293b; color: #94a3b8;
  font-size: 0.78rem; text-decoration: none; transition: all 0.2s;
}
.comment--type-comment-forum .comment__links a:hover {
  border-color: #d4a843; color: #d4a843; background: #1a2744;
}

/* Threaded replies */
.indented { margin-left: 0; padding-left: 1.25rem; border-left: 3px solid rgba(212, 168, 67, 0.2); }

/* ── COMMENT FORM ── */
.comment-comment-forum-form, .comment-form {
  background: #111827;
  border: 1px solid #1e293b;
  border-radius: 12px;
  padding: 1.5rem;
  margin-top: 1.5rem;
}
.comment-form h2, .comment-comment-forum-form h2,
.comment-form .form-item label, .comment-comment-forum-form .form-item label {
  color: #d4a843; font-weight: 700;
}

/* CKEditor5 dark */
.comment-form .ck.ck-editor, .comment-comment-forum-form .ck.ck-editor {
  border-radius: 8px; overflow: hidden; border: 1px solid #334155;
}
.comment-form .ck.ck-toolbar, .comment-comment-forum-form .ck.ck-toolbar {
  background: #1e293b !important; border-bottom: 1px solid #334155 !important;
}
.comment-form .ck.ck-toolbar .ck-button, .comment-comment-forum-form .ck.ck-toolbar .ck-button {
  color: #94a3b8 !important;
}
.comment-form .ck.ck-toolbar .ck-button:hover, .comment-comment-forum-form .ck.ck-toolbar .ck-button:hover {
  background: #334155 !important; color: #e2e8f0 !important;
}
.comment-form .ck.ck-toolbar .ck-button.ck-on, .comment-comment-forum-form .ck.ck-toolbar .ck-button.ck-on {
  background: #d4a843 !important; color: #0f172a !important;
}
.comment-form .ck.ck-toolbar .ck-dropdown__button .ck-button__label,
.comment-comment-forum-form .ck.ck-toolbar .ck-dropdown__button .ck-button__label {
  color: #94a3b8 !important;
}
.comment-form .ck-editor__editable, .comment-comment-forum-form .ck-editor__editable {
  background: #0f172a !important; color: #e2e8f0 !important;
  border: none !important; min-height: 200px !important;
}
.comment-form .ck-editor__editable:focus, .comment-comment-forum-form .ck-editor__editable:focus {
  box-shadow: 0 0 0 2px rgba(212, 168, 67, 0.2) !important;
}
.comment-form .ck-editor__editable p.ck-placeholder::before,
.comment-comment-forum-form .ck-editor__editable p.ck-placeholder::before {
  color: #475569 !important;
}
.ck.ck-dropdown__panel, .ck.ck-list { background: #1e293b !important; border: 1px solid #334155 !important; }
.ck.ck-list__item .ck-button { color: #e2e8f0 !important; }
.ck.ck-list__item .ck-button:hover, .ck.ck-list__item .ck-button.ck-on { background: #334155 !important; }

/* File upload */
.comment-form .form-managed-file, .comment-comment-forum-form .form-managed-file {
  background: #1e293b; border: 2px dashed #334155; border-radius: 8px; padding: 1rem; margin-top: 0.5rem;
}
.comment-form .form-managed-file:hover, .comment-comment-forum-form .form-managed-file:hover {
  border-color: #d4a843;
}
.comment-form input[type="file"]::file-selector-button,
.comment-comment-forum-form input[type="file"]::file-selector-button {
  background: #334155; color: #e2e8f0; border: 1px solid #475569;
  border-radius: 6px; padding: 0.4rem 1rem; cursor: pointer;
}
.comment-form select, .comment-comment-forum-form select {
  background: #1e293b !important; color: #e2e8f0 !important;
  border: 1px solid #334155 !important; border-radius: 6px !important; padding: 0.4rem 0.75rem;
}
.comment-form .filter-help, .comment-comment-forum-form .filter-help,
.comment-form .filter-guidelines, .comment-comment-forum-form .filter-guidelines,
.comment-form .description, .comment-comment-forum-form .description {
  color: #64748b !important; font-size: 0.8rem;
}
.comment-form input[type="text"], .comment-form textarea,
.comment-comment-forum-form input[type="text"], .comment-comment-forum-form textarea {
  background: #0f172a !important; color: #e2e8f0 !important;
  border: 1px solid #334155 !important; border-radius: 8px !important; padding: 0.6rem 0.75rem;
}
.comment-form input[type="text"]:focus, .comment-form textarea:focus,
.comment-comment-forum-form input[type="text"]:focus, .comment-comment-forum-form textarea:focus {
  border-color: #d4a843 !important; outline: none; box-shadow: 0 0 0 2px rgba(212, 168, 67, 0.15);
}
.comment-form input[type="submit"], .comment-comment-forum-form input[type="submit"],
.comment-form .form-submit, .comment-comment-forum-form .form-submit {
  background: linear-gradient(135deg, #d4a843, #b8942f) !important;
  color: #0f172a !important; border: none !important; border-radius: 8px !important;
  padding: 0.65rem 2rem !important; font-weight: 700 !important; cursor: pointer;
  transition: all 0.3s; box-shadow: 0 2px 8px rgba(212, 168, 67, 0.3);
}
.comment-form input[type="submit"]:hover, .comment-comment-forum-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #fbbf24, #d4a843) !important;
  box-shadow: 0 4px 16px rgba(212, 168, 67, 0.5); transform: translateY(-1px);
}
.comment-form #edit-preview, .comment-comment-forum-form #edit-preview {
  background: #1e293b !important; color: #e2e8f0 !important; border: 1px solid #334155 !important;
}
.comment-form #edit-preview:hover, .comment-comment-forum-form #edit-preview:hover {
  border-color: #d4a843 !important; color: #d4a843 !important;
}

/* Comments section header */
.path-forum .comment-wrapper h2, .path-forum #comments h2, section.comments h2 {
  color: #f1f5f9; font-size: 1.3rem; font-weight: 700;
  padding-bottom: 0.5rem; border-bottom: 2px solid rgba(212, 168, 67, 0.3); margin-bottom: 1rem;
}

/* Pagination */
.path-forum .pager__items {
  display: flex; gap: 0.25rem; list-style: none; padding: 0; justify-content: center;
}
.path-forum .pager__item a, .path-forum .pager__item span {
  display: flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; border-radius: 6px;
  border: 1px solid #334155; background: #1e293b; color: #94a3b8;
  text-decoration: none; font-size: 0.85rem;
}
.path-forum .pager__item a:hover { border-color: #d4a843; color: #d4a843; }
.path-forum .pager__item--active span {
  background: #d4a843; color: #0f172a; border-color: #d4a843; font-weight: 700;
}

/* Mobile */
@media (max-width: 768px) {
  .comment--type-comment-forum { grid-template-columns: 1fr; }
  .comment--type-comment-forum .comment__author {
    flex-direction: row; padding: 0.75rem 1rem; border-right: none;
    border-bottom: 1px solid #1e293b; gap: 0.75rem;
  }
  .comment--type-comment-forum .comment__avatar { width: 48px; height: 48px; }
  .comment--type-comment-forum .comment__content { padding: 0.75rem 1rem; min-height: auto; }
  .indented { padding-left: 0.5rem; }
}


/* ── GLOBAL POPUP DARK — v48 ultimate fallback ── */
.leaflet-popup-content-wrapper,
.leaflet-popup-content-wrapper:not(.NONEXISTENT),
div.leaflet-popup-content-wrapper {
  background: #0f172a !important;
  background-color: #0f172a !important;
  color: #e2e8f0 !important;
  border: 1px solid #d4a843 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.8) !important;
}
.leaflet-popup-tip,
.leaflet-popup-tip:not(.NONEXISTENT),
div.leaflet-popup-tip {
  background: #0f172a !important;
  background-color: #0f172a !important;
}
.leaflet-popup-content,
div.leaflet-popup-content {
  color: #e2e8f0 !important;
}
.leaflet-popup-close-button { color: #94a3b8 !important; }
.leaflet-popup-close-button:hover { color: #f59e0b !important; }

/* ── Responsive video embeds ── */
/* Direct YouTube/Vimeo iframes in article body */
.video-embed iframe,
.video-embed iframe[data-src],
.node--view-mode-full iframe[src*="youtube"],
.node--view-mode-full iframe[src*="youtu.be"],
.node--view-mode-full iframe[data-src*="youtube"],
.node--view-mode-full iframe[src*="vimeo"],
.field--name-body iframe,
.sc-article__body iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  margin: 1.25em 0;
  display: block;
  border: none;
}
.video-embed {
  margin: 1.25em 0;
}

/* Drupal oEmbed media entity iframes */
.media-oembed-content {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  display: block;
}
.field--name-field-media-oembed-video {
  margin: 1.5rem 0;
}
.media--type-remote-video {
  margin: 1.5rem 0;
}

/* ── CKEditor 5 inline image alignment (figure.image-style-*) ── */
figure.image {
  display: table;
  max-width: 100%;
  margin: 0.75em 0;
}
figure.image img {
  display: block;
  width: 100%;
}
figure.image-style-align-center,
figure.image.image-style-align-center {
  margin-left: auto !important;
  margin-right: auto !important;
  display: table;
}
figure.image-style-align-left,
figure.image.image-style-align-left {
  float: left;
  margin-right: 1.5em !important;
  margin-left: 0 !important;
}
figure.image-style-align-right,
figure.image.image-style-align-right {
  float: right;
  margin-left: 1.5em !important;
  margin-right: 0 !important;
}
/* Drupal media entity alignment in body */
.drupal-media-style-align-center,
[data-align="center"] > div,
.field--name-body .align-center {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}
.drupal-media-style-align-left,
.field--name-body .align-left {
  float: left;
  margin-right: 1.5em !important;
}
.drupal-media-style-align-right,
.field--name-body .align-right {
  float: right;
  margin-left: 1.5em !important;
}
/* CKEditor5 image-style-side (half width on side) */
.image-style-side {
  float: right;
  max-width: 50%;
  margin-left: 1.5em !important;
  margin-right: 0 !important;
}
