/* Danny Music — refinement layer, 2026-08-22 */
:root{
  --dm-card-shadow:0 16px 44px rgba(27,72,88,.075);
  --dm-card-shadow-hover:0 28px 72px rgba(27,72,88,.14);
}

/* Homepage cards: consistent rhythm, calmer surfaces and clearer actions. */
.story-card{
  border-color:rgba(23,52,72,.075);
  box-shadow:var(--dm-card-shadow);
}
.story-card__body{
  display:flex;
  min-height:245px;
  flex-direction:column;
}
.story-card p{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.story-card__actions{margin-top:auto}
.story-card__actions>a{border-radius:999px}
.story-share{box-shadow:0 7px 18px rgba(32,72,88,.07)}
.mood-card>strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.mood-card>i{transition:transform .25s ease,background .25s ease,color .25s ease}
.mood-card.is-active>i{transform:translateX(3px);background:var(--mint);color:var(--ink-deep)}
.stories-catalog{box-shadow:0 24px 66px rgba(25,67,84,.2)}

/* Catalogue: editorial numbering, stronger grouping and faster long-page paint. */
.catalog-controls{
  padding:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:23px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.catalog-grid{gap:18px}
.catalog-track{
  border-color:rgba(23,52,72,.08);
  border-radius:22px;
  box-shadow:var(--dm-card-shadow);
}
.catalog-track:hover{
  transform:translateY(-5px);
  border-color:rgba(25,121,95,.25);
  box-shadow:var(--dm-card-shadow-hover);
}
.catalog-track__number{
  position:absolute;
  z-index:3;
  left:12px;
  top:12px;
  display:grid;
  min-width:35px;
  height:27px;
  place-items:center;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(16,43,60,.72);
  color:#fff;
  font:900 8px/1 Inter,system-ui,sans-serif;
  letter-spacing:.11em;
  backdrop-filter:blur(9px);
}
.catalog-track__body{padding:24px}
.catalog-track__credits span,.catalog-track__badges span{border:1px solid rgba(25,121,95,.06)}
.catalog-track__links{flex-wrap:wrap;gap:8px}
.catalog-track__links a{
  min-height:35px;
  padding:0 11px;
  border:1px solid rgba(25,121,95,.12);
  border-radius:999px;
  background:#f6fcf9;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.catalog-track__links a:hover{transform:translateY(-1px);border-color:rgba(25,121,95,.28);background:#ecf8f3}
.catalog-track__visual.is-typographic{
  background:linear-gradient(145deg,#edf9f4,#e3f4ed);
}
.catalog-group--writing .catalog-track__visual.is-typographic{
  background:radial-gradient(circle at 84% 16%,rgba(245,215,115,.18),transparent 34%),linear-gradient(145deg,#102b3c,#183d4f);
}
.catalog-group--partial .catalog-track__visual.is-typographic{
  background:linear-gradient(145deg,#ff8d7f,#f36f63);
}

@supports (content-visibility:auto){
  .catalog-track{content-visibility:auto;contain-intrinsic-size:420px 515px}
}

@media (hover:hover) and (pointer:fine){
  .story-card:hover{box-shadow:var(--dm-card-shadow-hover)}
}

@media(max-width:768px){
  .story-card__body{min-height:225px}
  .catalog-controls{padding:15px;border-radius:19px}
  .catalog-grid{gap:13px}
  .catalog-track__number{left:10px;top:10px}
  .catalog-track__body{padding:19px}
}

@media(max-width:430px){
  .story-card__body{min-height:215px}
  .catalog-track__body{padding:16px}
  .catalog-track__links a{min-height:32px;padding:0 9px;font-size:7px}
}

@media(prefers-reduced-motion:reduce){
  .mood-card>i,.catalog-track__links a{transition:none!important}
}
