/* Theme Name: Anglicana Ortodoxa — Biblioteca
   Template: hello-elementor
   Version: 1.1 */

/* ============================================================
   ANGLICANA ORTODOXA — Design System  (v3 · brand-matched)
   Palette, type and surfaces matched to anglicanaortodoxa.org:
   white bg · Forum (display) + DM Sans (body) · gold accent
   (#826A00) + anglican red (#9A1415). Differentiation between
   categories is by LAYOUT, not color.
   Fonts loaded via <link> in each HTML <head>.
   ============================================================ */

:root{
  /* surfaces & ink — matched to the live site */
  --paper:#ffffff;
  --paper-2:#faf7f3;
  --surface:#ffffff;
  --ink:#2b0a0a;             /* headings (site h1/h2 color) */
  --ink-soft:#5d5454;        /* body text (site body color) */
  --ink-faint:#655f55;       /* ~5.6:1 on white, safe on paper-2 too */
  --rule:#ece7e1;
  --rule-strong:#dcd4ca;

  /* brand palette (single, site-matched) */
  --accent:#826a00;          /* gold — primary action / eyebrow */
  --accent-deep:#6b5800;
  --accent-tint:#f5efd8;
  --brand:#9a1415;           /* anglican red — marks & details */
  --brand-deep:#7c1012;
  --gold:#826a00;
  --gold-soft:#a98b3c;

  /* type — matched to the site */
  --display:'Forum', 'Iowan Old Style', Georgia, serif;
  --body:'DM Sans', system-ui, -apple-system, sans-serif;
  --ui:'DM Sans', system-ui, -apple-system, sans-serif;

  /* spacing scale */
  --space-1:.25rem; --space-2:.5rem;  --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem;   --space-7:3rem;   --space-8:4.5rem;

  /* metrics */
  --maxw:1180px;
  --read:42rem;
  --radius:3px;
  --shadow-sm:0 1px 2px rgba(40,20,15,.06), 0 2px 8px rgba(40,20,15,.05);
  --shadow-md:0 6px 18px rgba(40,20,15,.10), 0 2px 6px rgba(40,20,15,.06);
  --shadow-lg:0 18px 40px rgba(40,20,15,.15);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---- Reset ---- */
.aox-single *,
.aox-single *::before,
.aox-single *::after{ box-sizing:border-box; }
.aox-single{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
.aox-single{
  margin:0;
  font-family:var(--body);
  font-size:1.06rem;
  line-height:1.6;
  color:var(--ink-soft);
  background-color:var(--paper);
  font-synthesis:none;             /* Forum ships only one weight — avoid faux-bold */
  -webkit-font-smoothing:antialiased;
}
.aox-single img{ max-width:100%; display:block; }
.aox-single a{ color:inherit; }
.aox-single button{ font-family:inherit; cursor:pointer; }
.aox-single ::selection{ background:var(--brand); color:#fff; }

/* ---- Global focus baseline ---- */
.aox-single :focus-visible{ outline:3px solid var(--accent); outline-offset:3px; border-radius:1px; }
.aox-single :focus:not(:focus-visible){ outline:none; }

/* ---- Skip link ---- */
.aox-single .skip-link{
  position:fixed; left:1rem; top:1rem; z-index:200;
  transform:translateY(-160%);
  background:var(--brand); color:#fff;
  font-family:var(--ui); font-weight:700; font-size:.85rem;
  padding:.7rem 1.1rem; border-radius:var(--radius); text-decoration:none;
  transition:transform .2s var(--ease);
}
.aox-single .skip-link:focus{ transform:translateY(0); }

/* ---- Layout ---- */
.aox-single .wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.5rem); }
.aox-single .wrap--read{ max-width:calc(var(--read) + 4rem); }
.aox-single .section{ padding-block:clamp(2.5rem,6vw,5rem); }

/* ---- Typography ---- */
.aox-single h1,
.aox-single h2,
.aox-single h3,
.aox-single h4{ font-family:var(--display); font-weight:400; line-height:1.12; margin:0; color:var(--ink); }
.aox-single .display{ font-size:clamp(2.6rem,6vw,4.6rem); letter-spacing:.005em; }
.aox-single .h-xl{ font-size:clamp(2rem,4vw,3rem); }
.aox-single .h-lg{ font-size:clamp(1.6rem,3vw,2.2rem); }
.aox-single p{ margin:0 0 1.1em; }
.aox-single .lead{ font-size:1.2rem; line-height:1.6; color:var(--ink-soft); max-width:48ch; }
.aox-single .muted{ color:var(--ink-soft); }
.aox-single .faint{ color:var(--ink-faint); }
.aox-single em,
.aox-single i{ font-style:italic; }

.aox-single .eyebrow{
  font-family:var(--ui); font-weight:600; font-size:.74rem;
  text-transform:uppercase; letter-spacing:.2em; color:var(--accent);
  display:inline-flex; align-items:center; gap:.55rem;
}
.aox-single .eyebrow::before{ content:""; width:1.6rem; height:1px; background:var(--accent); display:inline-block; }
.aox-single .eyebrow--plain::before{ display:none; }

/* drop cap */
.aox-single .dropcap::first-letter{
  font-family:var(--display); font-weight:400; color:var(--brand);
  font-size:3.4em; line-height:.8; float:left; margin:.04em .1em 0 0;
}

/* fleuron / ornament divider */
.aox-single .fleuron{ display:flex; align-items:center; justify-content:center; gap:1.1rem; color:var(--gold); margin-block:var(--space-7); }
.aox-single .fleuron::before,
.aox-single .fleuron::after{ content:""; height:1px; flex:1; max-width:8rem; background:linear-gradient(90deg,transparent,var(--gold-soft)); }
.aox-single .fleuron span{ font-size:1.4rem; line-height:1; }

.aox-single .rule{ height:1px; background:var(--rule); border:0; margin:0; }
.aox-single .rule--double{ height:4px; border-top:1px solid var(--rule-strong); border-bottom:1px solid var(--gold-soft); background:transparent; }

/* ---- Header / nav ---- */
.aox-single .site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.9);
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--rule);
}
.aox-single .site-header__bar{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; height:4.6rem; }
.aox-single .brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.aox-single .brand__mark{
  width:2.1rem; height:2.1rem; flex:none; border-radius:50%;
  background:var(--brand); color:#fff; display:grid; place-items:center;
  font-family:var(--display); font-weight:400; font-size:1.2rem; box-shadow:var(--shadow-sm);
}
.aox-single .brand__txt{ font-family:var(--display); font-weight:400; font-size:1.3rem; line-height:1; color:var(--ink); }
.aox-single .brand__txt small{ display:block; font-family:var(--ui); font-weight:600; font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); margin-top:.3rem; }
.aox-single .site-nav{ display:flex; gap:1.6rem; font-family:var(--ui); font-weight:600; font-size:.82rem; letter-spacing:.03em; text-transform:uppercase; }
.aox-single .site-nav a{ text-decoration:none; color:var(--ink); position:relative; padding-block:.4rem; transition:color .25s; }
.aox-single .site-nav a::after{ content:""; position:absolute; left:0; bottom:.1rem; height:2px; width:0; background:var(--accent); transition:width .3s var(--ease); }
.aox-single .site-nav a:hover{ color:var(--accent-deep); } .aox-single .site-nav a:hover::after{ width:100%; }
.aox-single .site-nav a[aria-current="page"]{ color:var(--accent); }

.aox-single .nav-toggle{ display:none; align-items:center; justify-content:center; background:none; border:0; padding:.5rem; color:var(--ink); border-radius:var(--radius); }
.aox-single .nav-toggle svg{ width:1.6rem; height:1.6rem; }

@media(max-width:760px){
  .aox-single .site-header .btn--ghost{ display:none; }
  .aox-single .nav-toggle{ display:inline-flex; }
  .aox-single .site-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:var(--surface);
    border-bottom:1px solid var(--rule); box-shadow:var(--shadow-md); padding:.4rem 0;
  }
  .aox-single .site-nav.is-open{ display:flex; }
  .aox-single .site-nav a{ padding:.95rem clamp(1.1rem,5vw,2rem); }
  .aox-single .site-nav a::after{ display:none; }
}

/* ---- Buttons ---- */
.aox-single .btn{
  font-family:var(--ui); font-weight:600; font-size:.86rem; letter-spacing:.02em;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem; text-decoration:none;
  min-height:44px; padding:.7rem 1.5rem; border-radius:var(--radius); border:1.5px solid var(--accent);
  background:var(--accent); color:#fff;
  transition:background-color .28s var(--ease), color .28s var(--ease), transform .28s var(--ease), box-shadow .28s var(--ease);
}
.aox-single .btn:hover{ background:var(--accent-deep); border-color:var(--accent-deep); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.aox-single .btn svg{ width:1.05em; height:1.05em; }
.aox-single .btn--ghost{ background:transparent; color:var(--ink); border-color:var(--rule-strong); }
.aox-single .btn--ghost:hover{ background:transparent; color:var(--accent-deep); border-color:var(--accent); transform:none; box-shadow:none; }
.aox-single .btn--lg{ padding:.95rem 2rem; font-size:.95rem; }
.aox-single .btn--block{ display:flex; width:100%; }

/* ---- Badges / chips ---- */
.aox-single .badge{
  font-family:var(--ui); font-weight:700; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:.4rem; padding:.34rem .7rem; border-radius:100px;
  color:var(--accent-deep);
  background:var(--accent-tint);
  border:1px solid rgba(130,106,0,.25);
  border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
}
.aox-single .chip{
  font-family:var(--ui); font-weight:600; font-size:.78rem; letter-spacing:.01em;
  padding:.62rem 1.05rem; border-radius:100px; border:1px solid var(--rule-strong);
  background:var(--surface); color:var(--ink-soft);
  transition:background-color .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);
  white-space:nowrap;
}
.aox-single .chip:hover{ border-color:var(--accent); color:var(--accent-deep); }
.aox-single .chip[aria-pressed="true"]{ background:var(--accent); color:#fff; border-color:var(--accent); }

/* ---- Search bar ---- */
.aox-single .searchbar{ position:relative; flex:1; min-width:14rem; display:block; }
.aox-single .searchbar input{
  width:100%; font-family:var(--body); font-size:1.05rem; color:var(--ink);
  padding:.85rem 1rem .85rem 2.9rem; border:1px solid var(--rule-strong); border-radius:var(--radius);
  background:var(--surface);
  transition:border-color .25s, box-shadow .25s;
}
.aox-single .searchbar input:focus-visible{
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent);
}
.aox-single .searchbar svg{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); width:1.15rem; height:1.15rem; color:var(--ink-faint); pointer-events:none; }
.aox-single .toolbar{ display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; }
.aox-single .filters{ display:flex; gap:.55rem; flex-wrap:wrap; }

/* ---- Page head ---- */
.aox-single .pagehead{ padding-block:clamp(2.4rem,6vw,4.4rem) clamp(1.6rem,3vw,2.4rem); }
.aox-single .pagehead .display{ margin-top:.6rem; }
.aox-single .pagehead__meta{ display:flex; gap:1.4rem; flex-wrap:wrap; align-items:baseline; margin-top:1.1rem; font-family:var(--ui); font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-faint); }
.aox-single .pagehead__meta b{ color:var(--accent-deep); font-weight:700; }

/* ---- Featured / destacado ---- */
.aox-single .featured{ display:grid; gap:1.2rem; padding-block:var(--space-6) var(--space-7); border-top:2px solid var(--accent); }
.aox-single .featured__kicker{ font-family:var(--ui); font-weight:700; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.aox-single .featured__title{ font-family:var(--display); font-weight:400; font-size:clamp(2rem,4vw,3.1rem); line-height:1.08; margin:.3rem 0 0; }
.aox-single .featured__dek{ font-size:1.12rem; color:var(--ink-soft); margin-top:.8rem; max-width:54ch; }
.aox-single .featured__dek.dropcap::first-letter{ font-size:3em; }
.aox-single .featured__meta{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem; font-family:var(--ui); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-faint); }
@media(min-width:780px){
  .aox-single .featured{ grid-template-columns:7rem 1fr; column-gap:2.4rem; align-items:start; }
  .aox-single .featured__index{ font-size:clamp(3.5rem,6vw,5rem); text-align:right; }
}
.aox-single .featured__index{ font-family:var(--display); font-weight:400; font-size:3rem; color:var(--gold); line-height:.8; }

/* ---- Entry list (Artículos / Sermones) ---- */
.aox-single .serie-group{ margin-bottom:2.6rem; }
.aox-single .serie-head{ display:flex; align-items:baseline; gap:1rem; padding-bottom:.55rem; border-bottom:2px solid var(--brand); margin-bottom:.2rem; box-shadow:0 2px 0 var(--gold-soft); }
.aox-single .serie-head h2{ font-size:clamp(1.7rem,2.6vw,2.1rem); }
.aox-single .serie-head .count{ font-family:var(--ui); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }

.aox-single .entry{
  position:relative; display:grid; grid-template-columns:3.2rem 1fr auto; gap:1.2rem; align-items:center;
  padding:1.15rem .4rem; border-bottom:1px solid var(--rule); text-decoration:none; color:inherit;
  overflow:hidden; transition:background-color .25s;
}
.aox-single .entry:hover{ background:var(--paper-2); }
.aox-single .entry__num{ font-family:var(--display); font-size:1.7rem; color:var(--gold); font-weight:400; text-align:center; transition:transform .25s var(--ease); }
.aox-single .entry__body{ transition:transform .25s var(--ease); }
.aox-single .entry:hover .entry__num,
.aox-single .entry:hover .entry__body{ transform:translateX(.5rem); }
.aox-single .entry__title{ font-family:var(--display); font-size:1.4rem; font-weight:400; line-height:1.14; color:var(--ink); transition:color .25s; }
.aox-single .entry:hover .entry__title{ color:var(--accent-deep); }
.aox-single .entry__sub{ font-size:.96rem; color:var(--ink-soft); margin-top:.15rem; }
.aox-single .entry__sub .dot{ color:var(--rule-strong); margin-inline:.5rem; }
.aox-single .entry__go{ font-family:var(--ui); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); opacity:0; transform:translateX(-6px); transition:opacity .3s var(--ease), transform .3s var(--ease); white-space:nowrap; }
.aox-single .entry:hover .entry__go,
.aox-single .entry:focus-within .entry__go{ opacity:1; transform:translateX(0); }
@media(max-width:620px){ .aox-single .entry{ grid-template-columns:2.4rem 1fr; } .aox-single .entry__go{ display:none; } }

/* Homily table (Sermones variant) */
.aox-single .homily{ grid-template-columns:4.4rem 1fr auto; }
.aox-single .homily__no{ font-family:var(--display); font-weight:400; color:var(--gold); display:flex; flex-direction:column; align-items:center; line-height:1; }
.aox-single .homily__no b{ font-size:1.9rem; font-weight:400; } .aox-single .homily__no span{ font-family:var(--ui); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-top:.3rem; }
.aox-single .tag-verse{ font-family:var(--ui); font-size:.72rem; letter-spacing:.02em; color:var(--accent-deep); background:var(--accent-tint); padding:.2rem .55rem; border-radius:3px; }

/* ---- Book catalog (Libros) ---- */
.aox-single .book-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:2.4rem 1.8rem; }
.aox-single .book{ text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.85rem; }
.aox-single .book__cover{
  position:relative; aspect-ratio:3/4.4; border-radius:2px 4px 4px 2px; overflow:hidden;
  background:linear-gradient(160deg,#4a1614,#2b0a0a);     /* deep anglican-red ink */
  box-shadow:var(--shadow-md);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:1.2rem 1.1rem 1.2rem 1.4rem; color:#fff;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  border:1px solid rgba(0,0,0,.2);
}
.aox-single .book__cover::before{ content:""; position:absolute; left:.42rem; top:0; bottom:0; width:3px; background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(0,0,0,.18)); }  /* spine */
.aox-single .book__cover::after{ content:""; position:absolute; inset:.55rem; border:1px solid var(--gold-soft); opacity:.55; border-radius:2px; pointer-events:none; }  /* gilt frame */
.aox-single .book:hover .book__cover{ transform:translateY(-6px) rotate(-.6deg); box-shadow:var(--shadow-lg); }
.aox-single .book__kicker{ font-family:var(--ui); font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft); position:relative; z-index:1; }
.aox-single .book__title{ font-family:var(--display); font-weight:400; font-size:1.4rem; line-height:1.12; position:relative; z-index:1; }
.aox-single .book__foot{ font-family:var(--ui); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.82); display:flex; align-items:center; gap:.4rem; position:relative; z-index:1; }
.aox-single .book__foot::before{ content:""; width:1.1rem; height:1px; background:var(--gold-soft); }
.aox-single .book__meta strong{ display:block; font-family:var(--display); font-size:1.18rem; font-weight:400; line-height:1.15; color:var(--ink); }
.aox-single .book__meta span{ font-size:.96rem; color:var(--ink-soft); }

/* ---- Single page: article / sermon ---- */
.aox-single .lede{ padding-block:clamp(2.2rem,5vw,3.6rem) 1.4rem; }
.aox-single .lede .title{ font-size:clamp(2.3rem,5vw,3.6rem); font-weight:400; margin-top:.7rem; max-width:20ch; }
.aox-single .byline{ display:flex; gap:1.3rem; flex-wrap:wrap; align-items:center; margin-top:1.2rem; font-family:var(--ui); font-size:.82rem; letter-spacing:.02em; color:var(--ink-soft); }
.aox-single .byline b{ color:var(--ink); font-weight:700; }
.aox-single .byline .sep{ width:4px; height:4px; border-radius:50%; background:var(--rule-strong); }

.aox-single .pullquote{ font-family:var(--display); font-style:italic; font-weight:400; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.34; color:var(--ink); margin:2.2rem 0; padding-left:1.6rem; border-left:3px solid var(--brand); }

.aox-single .reading{ font-size:1.12rem; line-height:1.75; color:var(--ink-soft); }
.aox-single .reading p{ margin-bottom:1.25em; }

/* ficha / colophon */
.aox-single .ficha{ background:var(--paper-2); border:1px solid var(--rule-strong); border-radius:var(--radius); padding:1.7rem 1.8rem; box-shadow:var(--shadow-sm); }
.aox-single .ficha h2,
.aox-single .ficha h3,
.aox-single .aside h2.aside-title{ font-family:var(--ui); font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep); margin-bottom:1.1rem; }
.aox-single .ficha dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:.7rem 1.3rem; }
.aox-single .ficha dt{ font-family:var(--ui); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); padding-top:.18rem; }
.aox-single .ficha dd{ margin:0; font-size:1.02rem; color:var(--ink); }

/* download card */
.aox-single .dl-card{
  background:var(--accent-tint);
  background:linear-gradient(160deg,var(--accent-tint),var(--surface));
  border:1px solid rgba(130,106,0,.3);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);
  border-radius:var(--radius); padding:1.6rem; display:flex; gap:1.2rem; align-items:center; box-shadow:var(--shadow-sm);
}
.aox-single .dl-card__icon{ width:3rem; height:3rem; flex:none; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; }
.aox-single .dl-card__icon svg{ width:1.4rem; height:1.4rem; }
.aox-single .dl-card__t{ font-family:var(--display); font-size:1.3rem; font-weight:400; line-height:1.1; color:var(--ink); }
.aox-single .dl-card__s{ font-family:var(--ui); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-faint); margin-top:.2rem; }

/* single-page grid */
.aox-single .single-grid{ display:grid; grid-template-columns:1fr; gap:clamp(2rem,5vw,3.5rem); }
@media(min-width:920px){ .aox-single .single-grid--aside{ grid-template-columns:minmax(0,1fr) 20rem; align-items:start; } .aox-single .single-grid--aside .aside{ position:sticky; top:6rem; } }
.aox-single .aside{ display:flex; flex-direction:column; gap:1.3rem; }

/* book single header */
.aox-single .bookhead{ display:grid; grid-template-columns:1fr; gap:2.2rem; }
@media(min-width:760px){ .aox-single .bookhead{ grid-template-columns:15rem 1fr; gap:3rem; align-items:start; } }

/* related */
.aox-single .related{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.4rem; }
.aox-single .rel{ display:block; text-decoration:none; color:inherit; background:var(--surface); border:1px solid var(--rule); border-radius:var(--radius); padding:1.2rem 1.3rem; transition:border-color .28s var(--ease), transform .28s var(--ease), box-shadow .28s var(--ease); }
.aox-single .rel:hover{ border-color:var(--accent); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.aox-single .rel .k{ font-family:var(--ui); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.aox-single .rel h3{ font-size:1.24rem; margin-top:.5rem; font-weight:400; color:var(--ink); }

/* ---- Footer ---- */
.aox-single .site-footer{ margin-top:clamp(3rem,8vw,6rem); border-top:3px solid var(--brand); background:var(--paper-2); }
.aox-single .site-footer__in{ padding-block:3rem; display:flex; gap:2rem; justify-content:space-between; flex-wrap:wrap; align-items:flex-start; }
.aox-single .site-footer small{ color:var(--ink-faint); font-family:var(--ui); font-size:.78rem; }
.aox-single .foot-links{ display:flex; gap:1.5rem; font-family:var(--ui); font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
.aox-single .foot-links a{ text-decoration:none; color:var(--ink-soft); }
.aox-single .foot-links a:hover{ color:var(--accent-deep); }

/* ---- Empty state ---- */
.aox-single .empty{ text-align:center; padding:4rem 1rem; color:var(--ink-soft); font-style:italic; display:none; }

/* ---- Motion ---- */
@keyframes rise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.aox-single .reveal{ opacity:0; animation:rise .7s var(--ease) forwards; animation-delay:calc(var(--i,0) * 70ms); }

@media(prefers-reduced-motion:reduce){
  .aox-single{ scroll-behavior:auto; }
  .aox-single *,
.aox-single *::before,
.aox-single *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .aox-single .reveal{ opacity:1; transform:none; }
  .aox-single .entry:hover .entry__num,
.aox-single .entry:hover .entry__body{ transform:none; }
  .aox-single .book:hover .book__cover,
.aox-single .rel:hover,
.aox-single .btn:hover{ transform:none; }
}

/* utilities */
.aox-single .stack{ display:flex; flex-direction:column; }
.aox-single .gap-sm{ gap:.6rem; } .aox-single .gap-md{ gap:1.1rem; } .aox-single .gap-lg{ gap:1.8rem; }
.aox-single .mt-1{ margin-top:.6rem; } .aox-single .mt-2{ margin-top:1.2rem; } .aox-single .mt-3{ margin-top:2rem; }
.aox-single .center{ text-align:center; }
.aox-single .hide{ display:none !important; }

/* ---- polish (consolidated from per-view inline styles) ---- */
.aox-single .featured__title a{ text-decoration:none; color:inherit; }
.aox-single .featured__title a:hover{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.aox-single .dl-card{ text-decoration:none; color:inherit; }
.aox-single .aside .related{ grid-template-columns:1fr; }
