/* Real stories — article page styling, matched to the Dementia Diary theme.
   Relies on the palette variables already defined in home.css. */

.story{ max-width:760px; margin:0 auto; padding:0 clamp(16px,4vw,24px) 60px; }

/* ---- Hero ---- */
.story-hero{ position:relative; margin:28px 0 0; }
.story-hero-img{
  height:clamp(220px,38vw,380px); border-radius:6px; overflow:hidden;
  box-shadow:0 10px 24px rgba(90,110,125,.28);
}
.story-hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* the title sits on a cream note overlapping the photo, like a pinned caption */
.story-hero-note{
  position:relative; margin:-70px auto 0; max-width:660px;
  background:var(--paper); border-radius:5px; padding:26px clamp(20px,4vw,36px) 30px;
  box-shadow:0 12px 28px rgba(90,110,125,.30); text-align:center;
}
.story-hero-note::before{ /* red pin */
  content:""; position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  width:22px; height:22px; border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff, var(--pin-red) 70%);
  box-shadow:0 3px 6px rgba(0,0,0,.32);
}
.story-tag{
  display:inline-block; font-family:'Caveat',cursive; font-weight:700; font-size:1.4rem;
  color:var(--pin-red); margin-bottom:6px;
}
.story-hero-note h1{
  font-family:'Caveat',cursive; font-weight:700; color:var(--ink);
  font-size:clamp(1.9rem,4.5vw,2.7rem); line-height:1.1; margin:0;
}

/* ---- Body ---- */
.story-body{ margin-top:36px; }
.story-lede{ font-size:1.18rem; font-weight:600; color:var(--ink); margin:0 0 22px; }
.story-body p{ margin:0 0 20px; color:var(--ink); }

.story-byline{
  background:var(--note-blue); border-radius:6px; padding:14px 20px; margin:0 0 30px;
  text-align:center; box-shadow:0 5px 12px rgba(90,110,125,.16);
}
.story-byline strong{ display:block; color:#2d4a5e; font-size:1.05rem; }
.story-byline span{ color:#3d5c72; font-size:.92rem; }

.story-body h2{
  font-family:'Caveat',cursive; font-weight:700; color:var(--pin-blue);
  font-size:clamp(1.7rem,4vw,2.3rem); line-height:1.1; margin:38px 0 14px;
}

/* ---- Pull quote (blue block, echoing the Canva draft) ---- */
.story-quote{
  position:relative; margin:34px 0; padding:30px 34px 30px 60px;
  background:var(--pin-blue); color:#fff; border-radius:8px;
  font-family:'Caveat',cursive; font-size:clamp(1.6rem,3.5vw,2.1rem); line-height:1.25;
  box-shadow:0 10px 22px rgba(74,123,166,.35);
}
.story-quote::before{
  content:"\201C"; position:absolute; left:18px; top:2px;
  font-family:Georgia,serif; font-size:4.5rem; color:rgba(255,255,255,.5); line-height:1;
}

/* ---- Photo rows ---- */
.story-photos{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:26px 0 30px; }
.story-photos img, .story-photos .placeholder-img{ width:100%; height:100%; }
.story-photos .placeholder-img{ min-height:220px; }
.story-photos img{ border-radius:5px; object-fit:cover; box-shadow:0 8px 18px rgba(90,110,125,.24); display:block; }
@media (max-width:520px){ .story-photos{ grid-template-columns:1fr; } }

/* ---- Placeholder image slots ---- */
.placeholder-img{
  display:flex; align-items:center; justify-content:center; border-radius:5px;
  background:repeating-linear-gradient(45deg,#d3d8de 0 14px,#c8cdd4 14px 28px);
  color:#6a7580; font-weight:800; letter-spacing:.08em; font-size:.9rem;
  box-shadow:0 8px 18px rgba(90,110,125,.24);
}

/* ---- Credit + back ---- */
.story-credit{
  background:var(--paper-cream); border-radius:6px; padding:16px 22px; margin:36px 0 24px;
  box-shadow:0 5px 12px rgba(90,110,125,.14);
}
.story-credit p{ margin:0; font-size:.92rem; color:var(--ink-soft); }
.story-back a{ font-weight:700; color:var(--pin-blue); text-decoration:none; }
.story-back a:hover{ text-decoration:underline; }

/* ---- Info Page callout box (points to our own resources) ---- */
.story-info{
  background:var(--paper); border-radius:8px; padding:22px 24px 20px; margin:30px 0;
  box-shadow:0 8px 18px rgba(90,110,125,.20);
}
.story-info .info-tag{
  display:inline-block; background:#2A3B6B; color:#fff; font-weight:800; font-size:.8rem;
  letter-spacing:.04em; padding:6px 14px; border-radius:4px; margin-bottom:14px;
}
.story-info h3{ font-family:Nunito,sans-serif; font-weight:800; color:#2A3B6B; font-size:1.15rem; margin:0 0 8px; }
.story-info p{ margin:0 0 12px; color:var(--ink-soft); font-size:.98rem; }
.story-info .info-more{ font-weight:800; color:var(--pin-blue); text-decoration:none; }
.story-info .info-more:hover{ text-decoration:underline; }

/* photo caption under a single image */
.story-figure{ margin:26px 0 30px; }
.story-figure .placeholder-img{ min-height:300px; }
.story-figure figcaption{ margin-top:10px; color:var(--pin-blue); font-weight:700; font-size:.95rem; }

/* empty text slot marker (visible only as a soft guide; harmless if left) */
.paste-slot{
  border:1px dashed #B9C4CD; border-radius:6px; padding:14px 16px; margin:0 0 20px;
  color:#8a97a2; font-size:.9rem; font-style:italic; background:rgba(255,255,255,.4);
}

/* ---- Stories index (hub) page ---- */
.stories-index{ max-width:1000px; margin:0 auto; padding:36px clamp(16px,4vw,32px) 60px; }
.stories-eyebrow{ text-align:center; font-family:'Caveat',cursive; font-weight:700; font-size:1.5rem; color:var(--pin-red); margin:0 0 2px; }
.stories-heading{ text-align:center; font-family:'Caveat',cursive; font-weight:700; color:var(--pin-blue); font-size:clamp(2.2rem,5vw,3rem); line-height:1.1; margin:0 0 10px; }
.stories-intro{ text-align:center; color:var(--ink-soft); max-width:56ch; margin:0 auto 40px; font-weight:600; }
.story-thumb{ width:100%; height:180px; object-fit:cover; border-radius:2px; display:block; }
.readmore-soon{ color:#9aa7b0; font-weight:700; font-style:italic; }
.stories-back{ text-align:center; margin-top:36px; }
.stories-back a{ font-weight:700; color:var(--pin-blue); text-decoration:none; }
.stories-back a:hover{ text-decoration:underline; }

/* "View all stories" link under the homepage stories row */
.stories-viewall{ text-align:center; margin-top:32px; }
.stories-viewall a{
  display:inline-block; background:var(--pin-blue); color:#fff; font-weight:800;
  padding:13px 28px; border-radius:9px; text-decoration:none;
  box-shadow:0 3px 0 rgba(0,0,0,.16); transition:transform .12s ease;
}
.stories-viewall a:hover{ transform:translateY(-1px); }

/* ---- Self-contained card grid for the stories hub (so it doesn't depend on home.css) ---- */
.stories-index .news-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px;
}
.stories-index .news-card{
  background:#fff; border-radius:6px; overflow:hidden; padding:0 0 20px;
  box-shadow:0 8px 18px rgba(90,110,125,.18); display:flex; flex-direction:column;
}
.stories-index .news-card h3{
  font-family:'Caveat',cursive; font-weight:700; color:var(--pin-blue);
  font-size:1.5rem; line-height:1.15; margin:16px 18px 8px;
}
.stories-index .news-card p{ margin:0 18px 16px; color:var(--ink-soft); font-size:.98rem; flex:1; }
.stories-index .news-card .readmore{ margin:0 18px; font-weight:800; color:var(--pin-blue); text-decoration:none; }
.stories-index .news-card .placeholder{
  height:180px; display:flex; align-items:center; justify-content:center;
  background:repeating-linear-gradient(45deg,#d3d8de 0 14px,#c8cdd4 14px 28px);
  color:#6a7580; font-weight:800; letter-spacing:.08em; font-size:.85rem;
}
.stories-index .story-thumb{ width:100%; height:180px; object-fit:cover; display:block; }
