/* ================================
   Astracel – Religion Detail (Glass)
   (Made same structure as Story)
   ================================ */

/* Tokens */
:root{
  --bg: #0e1013;
  --panel: rgba(255,255,255,0.06);
  --panel-hover: rgba(255,255,255,0.10);
  --panel-border: rgba(255,255,255,0.14);
  --text: #eef2f6;
  --muted: #a9b1ba;
  --accent: #ff8cf3; /* religion accent */
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.03);
  --shadow-soft: 0 8px 24px rgba(0,0,0,0.28);
}

/* Base with full gradient coverage */
*,
*::before,
*::after { box-sizing: border-box; }

html { min-height: 100%; background: var(--bg); }
body{
  min-height: 100%;
  margin: 0;
  padding: 0 0 40px 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(1200px 800px at 10% -10%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%),
    radial-gradient(1000px 700px at 100% 0%, rgba(86,98,246,0.06), transparent 60%),
    var(--bg);
  background-repeat: no-repeat;
  background-attachment: fixed, fixed, scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scrollbars */
* { scrollbar-width: thin; scrollbar-color: var(--accent) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 60%, transparent));
  border-radius: 20px;
}
*::-webkit-scrollbar-track { background: transparent; }

/* Layout */
.container{
  width: min(1100px, 92vw);
  margin: 26px auto 0;
}
.main-content{
  display: grid;
  gap: 18px;
}

/* Title */
h2{
  margin: 0;
  text-align: center;
  font-family: "CopperplateGothicBold", ui-sans-serif, system-ui, Arial, sans-serif;
  font-size: clamp(22px, 3vw, 36px);
  letter-spacing: .6px;
  text-shadow: 0 1px 0 rgba(255,255,255,0.03);
}

/* Fallback text block */
.text-box{
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 18px 20px;
  line-height: 1.5;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.text-box:hover{
  background: var(--panel-hover);
  border-color: color-mix(in srgb, var(--panel-border) 60%, #fff 40%);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}
.text-box p{
  margin: 0 0 10px 0;
  font-size: clamp(14px, 1.05vw, 17px);
}
.text-box a{
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 2px;
  transition: color .18s ease, text-decoration-color .18s ease, text-shadow .18s ease;
}
.text-box a:hover{
  color: var(--accent);
  text-decoration-color: #fff;
  text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 40%, transparent);
}

/* ================================
   Structured sections (same classes as story)
   ================================ */

.story-sections{
  display: grid;
  gap: 14px;
}

.story-card{
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 16px 18px;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.story-card:hover{
  background: var(--panel-hover);
  border-color: color-mix(in srgb, var(--panel-border) 60%, #fff 40%);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.story-section-title{
  margin: 0 0 8px 0;
  font-size: clamp(18px, 2.1vw, 24px);
  color: var(--text);
  text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 22%, transparent);
}

/* bullets + items */
.story-bullets,
.story-items{
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.55;
}

.story-bullets li,
.story-items li{
  margin: 0 0 6px 0;
}

/* Category blocks inside a section */
.story-category{
  margin: 10px 0 4px 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: calc(var(--radius) - 6px);
  background: rgba(255,255,255,0.04);
}

.story-category-title{
  margin: 0 0 6px 0;
  font-size: 15px;
  color: var(--muted);
  letter-spacing: .3px;
}

/* Links in structured content */
.story-card a{
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 2px;
  transition: color .18s ease, text-decoration-color .18s ease, text-shadow .18s ease;
}
.story-card a:hover{
  color: var(--accent);
  text-decoration-color: #fff;
  text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 40%, transparent);
}

/* ================================
   Click-to-play Titles
   ================================ */

.speakable,
.speakable * {
  text-decoration: none !important;
}

.speakable {
  cursor: pointer;
  position: relative;
  color: inherit;
  transition: color .18s ease, text-shadow .18s ease, transform .18s ease;
}

.speakable:hover,
.speakable:focus {
  outline: none;
  color: var(--accent);
  text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 40%, transparent);
  transform: translateY(-1px);
}

.speakable .speakable-label {
  position: relative;
  display: inline-block;
}

.speakable .speakable-label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}

.speakable:hover .speakable-label::after,
.speakable:focus .speakable-label::after {
  transform: scaleX(1);
}

/* Keep heading spacing tidy */
h2.speakable,
h3.speakable {
  margin-top: 0;
}
