/* GSIS Seasons. Shipped by the plugin, never by the theme stylesheet.
   Tokens are restated here so the bands survive with or without the house theme. */

.gsis-season-band,
.gsis-season-hero {
  --gsis-navy: #002561;
  --gsis-navy-deep: #001A45;
  --gsis-green: #069046;
  --gsis-green-deep: #046B34;
  --gsis-brass: #C29B3C;
  --gsis-brass-soft: #D9BC77;
  --gsis-sand: #F5EFE3;
  --gsis-disp: 'Marcellus', Georgia, serif;
  --gsis-body: 'Source Sans 3', -apple-system, 'Segoe UI', sans-serif;
  --gsis-arab: 'Amiri', 'Scheherazade New', serif;
}

/* ================================================================
   The sitewide band. Sits under the announcement bar, above the header.
   ============================================================= */

.gsis-season-band {
  font-family: var(--gsis-body);
  font-size: .95rem;
  line-height: 1.4;
  position: relative;
  overflow: hidden;
  /* A hard navy rule on top, so a season band never melts into the brass
     announcement bar that sits directly above it. */
  border-top: 2px solid var(--gsis-navy-deep);
}
.gsis-season-band .wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  position: relative;
}
.gsis-sb-tag {
  flex: none;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
.gsis-sb-text { font-weight: 700; }
.gsis-sb-times { font-weight: 400; font-variant-numeric: tabular-nums; }
.gsis-sb-times b { font-weight: 800; }
.gsis-sb-sep { margin: 0 .55em; opacity: .6; }
.gsis-sb-note { font-weight: 400; opacity: .85; }
.gsis-sb-moon { flex: none; width: 20px; height: 20px; }
.gsis-sb-moon svg { width: 20px; height: 20px; display: block; }
.gsis-sb-link {
  margin-left: auto;
  font-weight: 700;
  white-space: nowrap;
  border-bottom: 1.5px solid currentColor;
}
@media (max-width: 820px) {
  .gsis-sb-link { margin-left: 0; }
  .gsis-season-band { font-size: .9rem; }
}

/* Closure: navy and urgent, deliberately unlike the brass announcement bar. */
.gsis-season-band.is-closure {
  background: var(--gsis-navy-deep);
  color: #EAF0FF;
  box-shadow: inset 0 -2px 0 var(--gsis-brass);
}
.gsis-season-band.is-closure::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .10;
  pointer-events: none;
  background-image: repeating-linear-gradient(135deg, rgba(194,155,60,.85) 0 10px, transparent 10px 22px);
}
.gsis-season-band.is-closure .gsis-sb-tag { background: var(--gsis-brass); color: var(--gsis-navy-deep); }
.gsis-sb-dot {
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.16);
}
@media (prefers-reduced-motion: no-preference) {
  .gsis-sb-dot { animation: gsis-sb-pulse 1.8s infinite; }
  @keyframes gsis-sb-pulse { 0%, 100% { opacity: 1 } 50% { opacity: .28 } }
}

/* Awaiting the moon: brass, patient, crescent first. */
.gsis-season-band.is-pending {
  background: linear-gradient(100deg, #9C7A24, var(--gsis-brass) 45%, var(--gsis-brass-soft));
  color: var(--gsis-navy-deep);
  box-shadow: inset 0 -2px 0 rgba(0,26,69,.3);
}
.gsis-season-band.is-pending::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .11;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='92' viewBox='0 0 92 92'%3E%3Cpath d='M34 27.6A13 13 0 0 1 17.2 10.8 13 13 0 1 0 34 27.6Z' fill='none' stroke='%23001A45' stroke-width='1.3'/%3E%3Cpath d='M80 73.6A13 13 0 0 1 63.2 56.8 13 13 0 1 0 80 73.6Z' fill='none' stroke='%23001A45' stroke-width='1.3'/%3E%3C/svg%3E");
}
.gsis-season-band.is-pending .gsis-sb-tag { background: var(--gsis-navy); color: #fff; }
.gsis-season-band.is-pending .gsis-sb-note { opacity: .78; }

/* Eid: green and glad. */
.gsis-season-band.is-eid {
  background: linear-gradient(90deg, var(--gsis-green-deep), var(--gsis-green));
  color: #fff;
}
.gsis-season-band.is-eid::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 84 84'%3E%3Cpath d='M42 6l8.6 18.8L69.4 16 60.6 34.8 79.4 42l-18.8 7.2L69.4 68 50.6 59.2 42 78l-8.6-18.8L14.6 68l8.8-18.8L4.6 42l18.8-7.2L14.6 16l18.8 8.8z' fill='none' stroke='%23F5EFE3' stroke-width='1.4'/%3E%3C/svg%3E");
}
.gsis-season-band.is-eid .gsis-sb-tag { background: var(--gsis-brass); color: var(--gsis-navy-deep); }

/* ================================================================
   The hero card. Lives inside the home page hero, above the H1.
   ============================================================= */

.gsis-season-hero {
  position: relative;
  overflow: hidden;
  max-width: 34em;
  margin: 0 0 26px;
  padding: 22px 24px;
  border-radius: 18px;
  color: #EAF0FF;
  font-family: var(--gsis-body);
  background: linear-gradient(135deg, var(--gsis-navy-deep), var(--gsis-navy) 55%, #04306F);
  border: 1px solid rgba(194,155,60,.45);
  box-shadow: 0 18px 44px rgba(0,26,69,.26);
}
.gsis-season-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .07;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 84 84'%3E%3Cpath d='M42 6l8.6 18.8L69.4 16 60.6 34.8 79.4 42l-18.8 7.2L69.4 68 50.6 59.2 42 78l-8.6-18.8L14.6 68l8.8-18.8L4.6 42l18.8-7.2L14.6 16l18.8 8.8z' fill='none' stroke='%23C29B3C' stroke-width='1.4'/%3E%3C/svg%3E");
}
.gsis-season-hero > * { position: relative; }

.gsis-sh-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gsis-sh-ar {
  font-family: var(--gsis-arab);
  font-size: 1.5rem;
  line-height: 1.3;
  color: var(--gsis-brass-soft);
  direction: rtl;
}
.gsis-sh-eyebrow {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gsis-brass);
}

.gsis-sh-count {
  margin-top: 12px;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}
.gsis-sh-label {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9FB4DC;
}
.gsis-sh-clock {
  font-family: var(--gsis-disp);
  font-size: clamp(1.8rem, 3.4vw, 2.35rem);
  line-height: 1;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.gsis-sh-title {
  margin: 10px 0 0;
  font-family: var(--gsis-disp);
  font-size: 1.45rem;
  line-height: 1.2;
  color: #fff;
}

.gsis-sh-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.gsis-sh-cell {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(194,155,60,.3);
  border-radius: 12px;
  padding: 10px 14px;
}
.gsis-sh-cell.is-single { grid-column: 1 / -1; }
.gsis-sh-cell span {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9FB4DC;
}
.gsis-sh-cell b {
  display: block;
  margin-top: 2px;
  font-size: 1.18rem;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.gsis-sh-taraweeh { margin: 14px 0 0; font-size: .93rem; color: #D8E2F7; }
.gsis-sh-note { margin: 6px 0 0; font-size: .86rem; color: #A9BBDE; }

/* Eid wears the green. */
.gsis-season-hero.is-eid {
  background: linear-gradient(135deg, var(--gsis-green-deep), var(--gsis-green) 60%, #05A552);
  border-color: rgba(194,155,60,.55);
  box-shadow: 0 18px 44px rgba(4,107,52,.28);
}
.gsis-season-hero.is-eid::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 84 84'%3E%3Cpath d='M42 6l8.6 18.8L69.4 16 60.6 34.8 79.4 42l-18.8 7.2L69.4 68 50.6 59.2 42 78l-8.6-18.8L14.6 68l8.8-18.8L4.6 42l18.8-7.2L14.6 16l18.8 8.8z' fill='none' stroke='%23F5EFE3' stroke-width='1.4'/%3E%3C/svg%3E");
  opacity: .12;
}
.gsis-season-hero.is-eid .gsis-sh-cell {
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.26);
}
.gsis-season-hero.is-eid .gsis-sh-cell span,
.gsis-season-hero.is-eid .gsis-sh-label { color: #CFEBDB; }
.gsis-season-hero.is-eid .gsis-sh-ar { color: #F3E6C4; }
.gsis-season-hero.is-eid .gsis-sh-eyebrow { color: #F5EFE3; }
.gsis-season-hero.is-eid .gsis-sh-note { color: #D6EFE1; }

@media (max-width: 560px) {
  .gsis-season-hero { padding: 18px 18px; }
  .gsis-sh-grid { grid-template-columns: 1fr; }
}
