/* Theme refinements: hierarchy, rhythm, and metadata discipline */

/* Slightly increased global line-height for readability */
body {
  line-height: 1.6;
}

/* Hero refinements for featured slider */
.godo-f-story {
  padding-top: clamp(3.5rem, 8vw, 6.5rem);
  padding-bottom: clamp(3.5rem, 8vw, 6.5rem);
}

.godo-f-story-title {
  line-height: 1.3;
}

.godo-f-story-overlay {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.45) 0%,
    rgba(0, 0, 0, 0.3) 70%,
    rgba(0, 0, 0, 0.2) 100%
  );
}

.godo-f-story-tag {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
}

/* Card grid rhythm */
.js-feed-entry {
  row-gap: 2rem;
}

.is-featured-wide .story-image {
  height: 18rem;
}

.simply-slider {
  height: 26rem;
}

.simply-slider .godo-f-story {
  height: 100%;
}

@media (min-width: 1000px) {
  .is-featured-wide .story-image {
    height: 20rem;
  }

  .simply-slider {
    height: 32rem;
  }
}

/* Card hierarchy and metadata styling */
.story-title {
  font-weight: 700;
}

.story-meta {
  color: var(--gray-500);
}

.author-meta--compact img {
  filter: grayscale(1);
  opacity: 0.7;
}

/* Neutralize non-essential accent usage for tag labels */
.primary-tag {
  background-color: var(--gray-200);
  color: var(--gray-700);
}

.dark .primary-tag {
  background-color: var(--gray-300);
  color: var(--gray-900);
}

/* Keep card hover shadows neutral */
.story-body.not-feature-image:hover {
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.06);
}

/* Ghost Portal Dark Theme Overrides */
:root {
  /* Accent */
  --ghost-accent-color: #f26522;

  /* Backgrounds */
  --ghost-portal-background: #0e0e0e;
  --ghost-portal-container-background: #141414;

  /* Text */
  --ghost-portal-text-color: #eaeaea;
  --ghost-portal-secondary-text-color: #9a9a9a;

  /* Inputs */
  --ghost-portal-input-background: #1c1c1c;
  --ghost-portal-input-border-color: #2a2a2a;
  --ghost-portal-input-text-color: #ffffff;

  /* Buttons */
  --ghost-portal-button-background: #f26522;
  --ghost-portal-button-text-color: #ffffff;

  /* UI Shape */
  --ghost-portal-border-radius: 12px;
}

/* Darken background overlay */
.gh-portal-backdrop {
  background: rgba(0, 0, 0, 0.75) !important;
}

/* Improve modal elevation */
.gh-portal-container {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
}

/* Typography alignment */
.gh-portal-container h1,
.gh-portal-container h2 {
  font-weight: 600;
  letter-spacing: 0.2px;
}

.gh-portal-container a {
  color: var(--ghost-accent-color);
}

/* Thin accent scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--ghost-accent-color) rgba(0, 0, 0, 0.12);
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.12);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--ghost-accent-color);
  border-radius: 999px;
}
