/* Pinkladies Journal: list and article pages (structure copied from the Mynifest Journal, Pinkladies colours).
   Loaded after /shop/assets/shop.css, which provides the fonts, colours, header, footer and buttons. */
/* header + footer: shared with the shop (shop.css + _app/site-chrome.php) */
.band{padding:72px 0 96px}
.wrap-narrow{width:min(820px,100% - 48px);margin-inline:auto}
.wrap-article{width:min(1180px,100% - 48px);margin-inline:auto}
@media (max-width:640px){.wrap-narrow,.wrap-article{width:min(820px,100% - 32px)}.band{padding:48px 0 72px}}

/* list page */
.page-hero{position:relative;overflow:hidden;padding:88px 0 64px;text-align:center;background:
  radial-gradient(800px 420px at 85% 10%,rgba(244,182,203,.55),transparent 60%),
  radial-gradient(640px 380px at 5% 100%,rgba(251,228,236,.9),transparent 60%),
  linear-gradient(180deg,var(--ivory),var(--cream))}
.page-hero .eyebrow::after{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-left:12px}
.page-hero .lede{margin:22px auto 0}
.notice{display:inline-block;margin:0 0 26px;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--raspberry);font-size:.9rem}
.journal-list{background:var(--cream)}
.journal-empty{text-align:center;color:var(--muted)}
.journal-page .card{text-decoration:none;color:inherit;border-radius:20px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-media{aspect-ratio:16/10;overflow:hidden;background:var(--blush)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media img,.journal-feature:hover .card-media img{transform:scale(1.05)}
.card-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.card-meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--raspberry);font-weight:600;margin-bottom:10px}
.card-body h3{font-size:1.6rem;margin-bottom:10px;color:var(--ink)}
.card-body p{font-size:.95rem;color:var(--muted);margin:0 0 20px}
.link{margin-top:auto;align-self:flex-start;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.link span{display:inline-block;transition:transform .25s}
a:hover .link span{transform:translateX(4px)}
.journal-feature{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(163,16,79,.1);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;margin-bottom:28px;transition:transform .35s,box-shadow .35s}
.journal-feature:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.journal-feature .card-media{aspect-ratio:auto;min-height:340px}
.journal-feature .card-body{padding:clamp(28px,4vw,52px);justify-content:center}
.journal-feature h3{font-size:clamp(1.9rem,3vw,2.6rem)}
.journal-feature .lead{font-size:1.05rem;color:var(--muted);margin:0 0 24px}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.journal-feature{grid-template-columns:1fr}.journal-feature .card-media{min-height:0;aspect-ratio:16/9}}
@media (max-width:640px){.cards{grid-template-columns:1fr}.page-hero{padding:56px 0 44px}}
@media (hover:none){.card:hover,.journal-feature:hover{transform:none}}

/* article page */
.article-hero{padding:64px 0 120px;background:linear-gradient(160deg,var(--berry),var(--raspberry) 55%,var(--pink));color:#fff}
.article-hero .crumbs{margin:0 0 22px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.article-hero .crumbs a{color:#fff;opacity:.85;text-decoration:none}.article-hero .crumbs a:hover{opacity:1;text-decoration:underline}
.article-hero .meta{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blush);margin:0 0 18px}
.article-hero .meta .views{white-space:nowrap}
.article-hero .meta .views svg{opacity:.85;vertical-align:-2px;margin-right:6px}
.article-hero h1{font-size:clamp(2.4rem,5.2vw,4.2rem);max-width:900px;color:#fff}
.article-cover{margin-top:-90px}
.article-cover img{border-radius:22px;box-shadow:var(--shadow-lg);width:100%;max-height:520px;object-fit:cover;background:var(--blush)}
.prose{font-size:1.12rem;line-height:1.8}
.prose h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:1.6em 0 .5em}
.prose h3{font-size:clamp(1.45rem,2.4vw,1.8rem);margin:1.4em 0 .45em}
.prose h4{font-size:clamp(1.2rem,1.9vw,1.4rem);margin:1.3em 0 .4em;font-family:var(--serif);font-weight:500}
.prose p{margin:0 0 1.2em}
.prose a{color:var(--pink);text-underline-offset:.18em}
.prose a:hover{color:var(--raspberry)}
.prose blockquote{margin:1.6em 0;padding:26px 30px;border-left:3px solid var(--pink);background:var(--blush);border-radius:0 16px 16px 0;font-family:var(--serif);font-size:1.5rem;line-height:1.4;font-style:italic;color:var(--raspberry)}
.prose .seq{display:flex;flex-wrap:wrap;gap:10px;margin:1em 0 1.6em}
.prose .seq span{padding:8px 14px;border-radius:999px;background:var(--raspberry);color:#fff;font-size:.8rem;letter-spacing:.12em;font-weight:600;text-transform:uppercase}
.prose ul{padding-left:1.2em}.prose ol{padding-left:1.4em}.prose li{margin-bottom:.5em}
.prose li::marker{color:var(--pink)}
.prose u{text-decoration-thickness:1px;text-underline-offset:.18em}
.prose s{text-decoration-thickness:1px;opacity:.8}
.prose .ta-left{text-align:left}.prose .ta-center{text-align:center}.prose .ta-right{text-align:right}.prose .ta-justify{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.prose .tc-pink{color:#df0870}.prose .tc-raspberry{color:#a3104f}.prose .tc-ink{color:#2b1620}
.prose hr{border:0;height:1px;margin:2.2em auto;width:min(240px,50%);background:linear-gradient(90deg,transparent,var(--pink),transparent)}
.prose figure{margin:1.8em 0}
.prose figure img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 18px 40px -24px rgba(110,13,55,.45)}
.prose figure.img-center{width:min(70%,620px);margin-inline:auto}
.prose figure.img-left{float:left;width:45%;margin:.35em 1.6em 1em 0}
.prose figure.img-right{float:right;width:45%;margin:.35em 0 1em 1.6em}
.prose h2,.prose h3,.prose h4,.prose hr,.prose blockquote,.prose .seq{clear:both}
.prose::after{content:"";display:table;clear:both}
@media (max-width:640px){.prose{font-size:1.04rem}.prose figure.img-left,.prose figure.img-right{float:none;width:100%;margin:1.5em 0}.prose figure.img-center{width:100%}.article-hero{padding:44px 0 100px}.article-cover{margin-top:-72px}}
/* custom-designed articles: the editor's classes still work inside their own styling */
#journal-article-body:where(.is-custom) :where(.ta-left){text-align:left!important}
#journal-article-body:where(.is-custom) :where(.ta-center){text-align:center!important}
#journal-article-body:where(.is-custom) :where(.ta-right){text-align:right!important}
#journal-article-body:where(.is-custom) :where(.ta-justify){text-align:justify!important}
#journal-article-body:where(.is-custom) :where(.tc-pink){color:#df0870!important}
#journal-article-body:where(.is-custom) :where(.tc-raspberry){color:#a3104f!important}
#journal-article-body:where(.is-custom) :where(.tc-ink){color:#2b1620!important}
#journal-article-body:where(.is-custom) :where(figure.img-full,figure.img-center,figure.img-left,figure.img-right){margin:1.6em 0}
#journal-article-body:where(.is-custom) :where(figure img){max-width:100%;height:auto}
#journal-article-body:where(.is-custom) :where(figure.img-center){width:min(70%,620px);margin-inline:auto}
#journal-article-body:where(.is-custom) :where(figure.img-left){float:left;width:45%;margin:.35em 1.6em 1em 0}
#journal-article-body:where(.is-custom) :where(figure.img-right){float:right;width:45%;margin:.35em 0 1em 1.6em}
@media (max-width:640px){#journal-article-body:where(.is-custom) :where(figure.img-left,figure.img-right,figure.img-center){float:none;width:100%;margin:1.4em 0}}

/* listen player */
.listen{display:flex;align-items:center;gap:16px;margin:22px auto 0;max-width:600px;padding:12px 22px 12px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.listen-btn{flex:none;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--pink),var(--raspberry));box-shadow:0 8px 20px -8px rgba(163,16,79,.7);transition:transform .2s}
.listen-btn:hover:not(:disabled){transform:scale(1.06)}
.listen-btn .i-pause{display:none}.listen-btn .i-play{margin-left:3px}
.listen[data-state="playing"] .listen-btn .i-play{display:none}
.listen[data-state="playing"] .listen-btn .i-pause{display:block}
.lp{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.lp-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.listen-label{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-time{flex:none;font-size:.78rem;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums}
.lp-track{position:relative;height:6px;border-radius:3px;background:rgba(163,16,79,.14);cursor:pointer;touch-action:none}
.lp-track::before{content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px}
.lp-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:linear-gradient(90deg,var(--rose),var(--pink))}
.lp-knob{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px #fff,0 2px 8px rgba(110,13,55,.35);transform:scale(0);opacity:0;transition:transform .2s,opacity .2s}
.listen:hover .lp-knob,.lp-track:focus-visible .lp-knob,.listen.dragging .lp-knob,.listen[data-state="playing"] .lp-knob,.listen[data-state="paused"] .lp-knob{opacity:1;transform:scale(1)}
.listen[data-state="empty"],.listen[data-state="error"]{opacity:.6}
.listen[data-state="empty"] .listen-btn,.listen[data-state="error"] .listen-btn{cursor:not-allowed;background:#b59aa5;box-shadow:none}
.listen[data-state="empty"] .lp-track,.listen[data-state="error"] .lp-track{cursor:default}
.listen[data-state="empty"] .listen-label{font-style:italic}
@media (max-width:640px){.listen{border-radius:22px;gap:12px;padding:12px 16px 12px 12px}.listen-label{font-size:1.05rem}}

/* shop call-to-action and previous/next */
.cta{margin-top:40px;padding:44px 30px;border-radius:24px;text-align:center;background:
  radial-gradient(600px 300px at 90% 0,rgba(244,182,203,.6),transparent 60%),linear-gradient(180deg,var(--blush),var(--cream));border:1px solid var(--line)}
.cta .eyebrow::after{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-left:12px}
.cta h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:0 0 12px}
.cta h2 em{font-style:italic;color:var(--pink)}
.cta p:not(.eyebrow){max-width:520px;margin:0 auto 24px;color:var(--muted)}
.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.article-nav .nav-card{display:flex;flex-direction:row;align-items:center;gap:20px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
.article-nav .nav-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.article-nav .nav-card.is-next{flex-direction:row-reverse;text-align:right}
.nav-thumb{flex:none;width:132px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--blush)}
.nav-thumb img{width:100%;height:100%;object-fit:cover}
.nav-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.nav-body .card-meta{margin:0}
.article-nav h4{margin:2px 0 0;font-family:var(--serif);font-weight:500;font-size:1.3rem;line-height:1.2}
.nav-sub{font-size:.8rem;color:var(--muted)}
@media (max-width:640px){.article-nav{grid-template-columns:1fr}.nav-thumb{width:96px}.article-nav .nav-card.is-next{flex-direction:row;text-align:left}}
@media (prefers-reduced-motion:reduce){.listen-btn:hover:not(:disabled){transform:none}.lp-knob{transition:none}.card-media img{transition:none}}

/* archives (latest 10 on /journal/, then Monthly + Category; filtered views at /journal/?month=YYYY-MM or ?category=slug) */
.journal-archives{background:var(--ivory);border-top:1px solid var(--line);padding:64px 0 80px}
.journal-archives h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:6px 0 28px;color:var(--ink)}
.arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.arch-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow-sm)}
.arch-col h3{font-size:1.3rem;margin:0 0 14px;color:var(--raspberry)}
.arch-col ul{list-style:none;margin:0;padding:0}
.arch-col li+li{border-top:1px solid var(--line)}
.arch-col a{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;text-decoration:none;color:var(--ink);font-size:.98rem;transition:color .2s}
.arch-col a:hover,.arch-col a[aria-current]{color:var(--pink)}
.arch-col a[aria-current]{font-weight:600}
.arch-n{color:var(--muted);font-size:.88rem}
.page-hero .crumbs{margin:0 0 18px;font-size:.85rem}.page-hero .crumbs a{color:var(--raspberry);text-decoration:none}
.arch-back{text-align:center;margin:40px 0 0}
@media (max-width:640px){.arch-grid{grid-template-columns:1fr}.arch-col{padding:20px}.journal-archives{padding:48px 0 60px}}

/* Journal search (/journal/?q=term, published articles only) */
.journal-search{display:flex;gap:10px;max-width:520px;margin:22px auto 0}
.journal-search input{flex:1;min-width:0;font:inherit;font-size:1rem;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.journal-search input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(233,30,99,.15)}
.journal-search .btn{flex:none;width:auto;margin-top:0;min-height:46px;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--raspberry));color:#fff;border:0}
.search-count{margin-top:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:640px){.journal-search{max-width:none}.journal-search input{padding:11px 14px}}

/* Audio player pasted into an article body: <p class="pl-audio"><strong>Listen…</strong><audio controls src="https://pinkladies.com/…mp3"></audio></p> */
.journal-article-body .pl-audio,.prose .pl-audio{margin:32px 0;padding:20px 22px;border-radius:var(--radius);background:linear-gradient(135deg,#fff,#fdeef5);border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:center}
.pl-audio strong{display:block;margin:0 0 12px;font-family:var(--serif);font-weight:500;font-size:1.2rem;color:var(--raspberry)}
.pl-audio audio{display:block;width:100%;height:44px;accent-color:var(--pink)}
