/* ===========================================================
   Sitewide pieces added after the first launch (loaded after theme.css and
   pages.css by layouts/app.blade.php): the banner above the footer, the
   compact header radio pill, the Visiting page's highlighted note, the
   Seva overview's "More Seva" cards and the About page's detailed story.
   =========================================================== */

/* ---------- Banner above the footer (partials/site-banner.blade.php) ---------- */
.site-banner {
  position: relative;
  overflow: hidden;
  padding: 46px 0;
  background: var(--blue-deep);
  border-top: 2px solid var(--gold-2);
  border-bottom: 2px solid var(--gold-2);
  box-shadow: inset 0 0 60px 10px rgba(0, 0, 0, .35);
}

.site-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('../images/hero/night.jpg') center 35% / cover no-repeat;
}

.site-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(100deg, rgba(6, 20, 48, .9) 0%, rgba(9, 30, 66, .72) 48%, rgba(6, 20, 48, .88) 100%),
    linear-gradient(200deg, rgba(240, 215, 123, .08), transparent 45%);
}

.site-banner-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px 36px;
  flex-wrap: wrap;
}

.site-banner-copy {
  flex: 1 1 420px;
  min-width: 0;
}

.site-banner h2 {
  color: #F6EFD6;
  font-size: clamp(21px, 2.6vw, 28px);
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.site-banner p {
  color: #C9D4EE;
  font-size: 14.5px;
  line-height: 1.7;
  margin-top: 10px;
  max-width: 64ch;
}

.site-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.site-banner-actions .btn svg {
  flex-shrink: 0;
}

.site-banner-actions .btn-ghost {
  color: #F6EFD6;
  border-color: rgba(240, 215, 123, .5);
}

.site-banner-actions .btn-ghost:hover {
  color: var(--gold-1);
  border-color: var(--gold-1);
}

@media (max-width: 640px) {
  .site-banner {
    padding: 34px 0;
  }

  .site-banner-copy {
    flex-basis: 100%;
  }

  .site-banner-actions {
    width: 100%;
    flex-direction: column;
  }

  .site-banner-actions .btn {
    width: 100%;
  }
}

/* ---------- Header: compact "On Air" pill ----------
   The nav link now reads "Gobind Dham Radio", which is longer than the old
   "Radio / Live Radio", so the pill beside it is short ("On Air") and the
   row is a little tighter. The pill is hidden, as before, once the nav
   switches to its compact sizes (theme.css). */
@media (min-width: 1181px) {
  .nav-links {
    gap: 17px;
  }

  .radio-btn {
    padding: 8px 14px;
    font-size: 13px;
    gap: 6px;
  }
}

/* ---------- Radio page: "On Air" status pill (the text comes from translations) ---------- */
.live-pill::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--live-red);
  animation: blink 1.2s infinite;
}

/* ---------- Visiting the Gurudwara: long cards ---------- */
/* The Photography & Seva guidance is several times longer than the other
   cards; in a three-column grid it made one tall, narrow column. It now
   spans the full row, the text flows into two columns and the note sits
   underneath as a highlighted bar. */
.visit-grid { grid-auto-flow: row dense; align-items: start; }
.visit-card[data-maryada-section="photography"] {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 56px 1fr;
  column-gap: 20px;
  align-items: start;
  padding: 30px 32px;
}
.visit-card[data-maryada-section="photography"] .visit-card-icon { grid-row: 1 / span 3; }
.visit-card[data-maryada-section="photography"] h3 { grid-column: 2; }
.visit-card[data-maryada-section="photography"] [data-maryada-body] { grid-column: 2; column-count: 2; column-gap: 40px; }
.visit-card[data-maryada-section="photography"] [data-maryada-body] p { break-inside: avoid-column; }
.visit-card[data-maryada-section="photography"] .visit-note { grid-column: 2; margin-top: 18px; }
@media (max-width: 760px) {
  .visit-card[data-maryada-section="photography"] { display: flex; padding: 26px 22px; }
  .visit-card[data-maryada-section="photography"] [data-maryada-body] { column-count: 1; }
}

/* ---------- Visiting the Gurudwara: highlighted closing note ---------- */
.visit-card .visit-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 4px solid var(--gold-2);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: color-mix(in srgb, var(--gold-2) 14%, transparent);
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.65;
}

/* ---------- Seva overview: "More Seva at Guru Ghar" cards ---------- */
.sv-more-card .sv-more-when {
  display: inline-block;
  align-self: flex-start;
  margin: 0;
  padding: 5px 12px;
  border-radius: 30px;
  background: color-mix(in srgb, var(--gold-2) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--gold-2) 45%, transparent);
  color: var(--gold-text);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .02em;
  flex: 0 0 auto;
}

/* ---------- About: the detailed story (admin: Pages -> About — Detailed story) ---------- */
.story-long-head {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

.story-long-intro {
  max-width: 760px;
  margin: 0 auto 36px;
  font-size: 18px;
  line-height: 1.85;
  color: var(--text-soft);
}

.story-index {
  max-width: 760px;
  margin: 0 auto 40px;
  padding: 18px 22px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  counter-reset: story-index;
}

.story-index li {
  counter-increment: story-index;
  font-size: 13.5px;
}

.story-index li::before {
  content: counter(story-index) '.';
  margin-right: 6px;
  color: var(--gold-text);
  font-weight: 600;
}

.story-index a:hover {
  color: var(--gold-text);
}

.story-chapter {
  max-width: 760px;
  margin: 0 auto 46px;
  scroll-margin-top: 110px;
}

.story-chapter:last-child {
  margin-bottom: 0;
}

.story-chapter h3 {
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.3;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.story-chapter .cms-text {
  font-size: 16.5px;
  line-height: 1.95;
  color: var(--text-soft);
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .story-long-intro {
    font-size: 16.5px;
  }

  .story-chapter .cms-text {
    font-size: 15.5px;
    line-height: 1.85;
  }
}
