/*
 * Pinlions Post Layout. Scoped to body.plp-on (single posts only).
 * Pure CSS: no web fonts beyond the Rubik Astra already loads, no JS.
 */
/* Astra boxes the article and pads it; the layout manages its own width. */
.plp-on .site-content > .ast-container{max-width:none;padding:0;display:block}
.plp-on #primary{margin:0;padding:0;width:100%}
.plp-on.ast-separate-container .ast-article-single,.plp-on .ast-article-single{padding:0;margin:0;background:transparent;border:0;box-shadow:none}
.plp-on .entry-header.ast-header-without-markup,.plp-on .entry-header:empty{display:none}
.plp-on .entry-content{margin:0}
.plp-on .entry-content > .plp{margin:0}
/* Astra's "narrow" container caps every direct child of .entry-content at
   750px. pinlions.com doesn't use it, but a fresh Astra install does, and the
   layout must not depend on which one a site happens to have. */
.plp-on .entry-content > .plp,.plp-on.ast-narrow-container .entry-content > .plp{max-width:none !important;width:100%;margin-left:0 !important;margin-right:0 !important}
.plp-on .post-navigation,.plp-on .comments-area,.plp-on .ast-single-related-posts-container{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;background:transparent}
.plp-on .post-navigation{border-top:1px solid #E6E1D8;padding-top:28px;margin-top:0}
.plp-on .comments-area{margin-top:32px;margin-bottom:56px}


.plp{
  --ink:#13233F; --ink2:#2B3A55; --muted:#5D6779; --line:#E6E1D8; --sand:#F6F1E9;
  --accent:#D9573A; --blue:#336B87; --tint:#EAF3F6;
  --display:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--body); color:var(--ink); background:#fff;
}
.plp *{box-sizing:border-box}
.plp a{color:inherit}
.plp img{display:block;max-width:100%;height:auto}

/* reading progress: driven by scroll position, zero JS */
.plp-progress{position:fixed;top:0;left:0;right:0;height:4px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:9999}
@supports (animation-timeline: scroll()){
  .plp-progress{animation:plp-grow linear both;animation-timeline:scroll(root)}
  @keyframes plp-grow{to{transform:scaleX(1)}}
}

/* ---------- header ---------- */
.plp-hero{max-width:1180px;margin:0 auto;padding:40px 24px 0}
.plp-crumbs{display:flex;gap:8px;align-items:center;font:600 13.5px var(--body);color:var(--muted)}
.plp-crumbs a{text-decoration:none}
.plp-crumbs a:hover{color:var(--accent)}
.plp-crumbs span{opacity:.5}
.plp-head{max-width:860px;margin-top:22px}
.plp-cat{display:inline-block;font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-decoration:none;
  background:#FBEAE5;padding:8px 12px;border-radius:999px}
.plp .plp-title{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.6vw,56px);line-height:1.04;letter-spacing:-.025em;margin:18px 0 16px;color:var(--ink)}
.plp-dek{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink2);margin:0;max-width:62ch}
.plp-byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.plp-av{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:700 17px var(--display);flex:0 0 auto}
.plp-by{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:600}
.plp-by small{display:block;font-weight:500;color:var(--muted);font-size:13px}
.plp-dot{width:4px;height:4px;border-radius:50%;background:#C9C3B8}
.plp-pin{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:#E60023;color:#fff !important;text-decoration:none;
  font:700 14px var(--body);padding:10px 16px;border-radius:999px}
.plp-pin svg{width:16px;height:16px}
.plp-feature{margin:28px 0 0;border-radius:24px;overflow:hidden;aspect-ratio:16/8.2;background:var(--sand)}
.plp-feature img{width:100%;height:100%;object-fit:cover}
.plp-feature figcaption{display:none}
.plp-av--img{object-fit:cover;padding:0}

/* ---------- body + sidebar ---------- */
.plp-grid{max-width:1180px;margin:0 auto;padding:44px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.plp-body{max-width:720px;font-size:18.5px;line-height:1.75;color:#23304A}
.plp-body > p{margin:0 0 1.25em}
.plp-body strong{color:var(--ink)}
.plp-body a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.plp-body h2{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;color:var(--ink);
  margin:2.1em 0 .7em;scroll-margin-top:90px;position:relative;padding-top:18px}
.plp-body h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:4px;border-radius:4px;background:var(--accent)}
.plp-body ul{padding:0;margin:0 0 1.4em;list-style:none}
.plp-body ul li{position:relative;padding-left:26px;margin:.55em 0;line-height:1.65}
.plp-body ul li::before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.plp-body ul ul{margin:.4em 0 .4em}

/* figures: never taller than the screen, so a portrait photo doesn't eat a whole scroll */
.plp-body figure{margin:2em 0;text-align:center}
.plp-body figure img{border-radius:18px;margin:0 auto;max-height:78vh;width:auto;object-fit:contain;box-shadow:0 16px 40px rgba(19,35,63,.10)}
.plp-body figcaption{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.4}

/* at a glance */
.plp-glance{background:linear-gradient(135deg,#EAF3F6,#F6F1E9);border-radius:20px;padding:24px 26px;margin:0 0 2em;border:1px solid #DCE7EA}
.plp-glance h3{margin:0 0 14px;font:700 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.plp-glance dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.plp-glance div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}
.plp-glance .ic{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:17px}
.plp-glance dt{font:700 12px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:2px 0 4px}
.plp-glance dd{margin:0;font-size:15.5px;line-height:1.45;color:var(--ink);font-weight:600}

/* table of contents: collapsible on mobile, sticky in the sidebar on desktop */
.plp-toc{border:1px solid var(--line);border-radius:18px;padding:20px 22px;background:#fff}
.plp-toc .plp-toc-h,.plp-toc summary{font:700 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 14px;list-style:none;cursor:pointer}
.plp-toc summary::-webkit-details-marker{display:none}
.plp-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;display:grid;gap:2px}
.plp-toc li{counter-increment:toc}
.plp-toc a{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:8px 10px;margin:0 -10px;border-radius:10px;text-decoration:none;font-size:15px;line-height:1.35;color:var(--ink2)}
.plp-toc a::before{content:counter(toc,decimal-leading-zero);font:700 12px/1.6 var(--display);color:var(--accent)}
.plp-toc a:hover{background:var(--sand);color:var(--ink)}
.plp-toc-m{display:none;margin:0 0 2em}
.plp-toc-m[open] summary{margin-bottom:14px}
.plp-toc-m summary{margin:0;display:flex;justify-content:space-between;align-items:center}
.plp-toc-m summary::after{content:"+";font:400 22px/1 var(--body);color:var(--accent)}
.plp-toc-m[open] summary::after{content:"\2013"}

.plp-side{position:sticky;top:96px;display:grid;gap:18px}
.plp-savecard{border-radius:18px;padding:20px 22px;background:var(--ink);color:#fff}
.plp-savecard b{display:block;font:700 18px/1.25 var(--display)}
.plp-savecard p{margin:6px 0 14px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.75)}
.plp-savecard .plp-pin{margin:0}

/* video: a static poster until clicked, so YouTube's ~1MB of script never
   loads for readers who don't press play */
.plp-video{margin:2em 0;border-radius:20px;overflow:hidden;background:var(--ink);color:#fff}
.plp-video .lbl{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font:700 13px var(--body);letter-spacing:.08em;text-transform:uppercase}
.plp-video .lbl span{color:rgba(255,255,255,.6);font-weight:600;letter-spacing:0;text-transform:none}
.plp-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}

/* FAQ as an accordion: native <details>, no JS */
.plp-faq{display:grid;gap:10px;margin:0 0 1.5em}
.plp-faq details,.plp-q{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.plp-faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;position:relative;font:600 17px/1.35 var(--display);color:var(--ink)}
.plp-faq summary::-webkit-details-marker{display:none}
.plp-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;
  background:var(--sand);display:grid;place-items:center;font:500 20px/28px var(--body);text-align:center;color:var(--accent)}
.plp-faq details[open] summary::after{content:"\2013"}
.plp-faq details p{margin:0;padding:0 20px 18px;font-size:16.5px;line-height:1.65;color:#2F3B52}

/* author */
.plp-author{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;margin:3em 0 0;padding:24px;border-radius:20px;background:var(--sand)}
.plp-author .plp-av{width:64px;height:64px;font-size:26px}
.plp-author b{font:700 18px var(--display);color:var(--ink)}
.plp-author small{display:block;font-size:13px;color:var(--muted);margin:2px 0 8px}
.plp-author p{margin:0;font-size:15.5px;line-height:1.6;color:#2F3B52}
.plp-author a{font-weight:700;color:var(--accent);text-decoration:none}

/* related */
.plp-related{max-width:1180px;margin:72px auto 0;padding:56px 24px 72px;border-top:1px solid var(--line)}
.plp .plp-related-h{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.02em;margin:0 0 24px;color:var(--ink)}
.plp-related .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.plp-related a{text-decoration:none;display:block}
.plp-related .im{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.plp-related img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.plp-related a:hover img{transform:scale(1.04)}
.plp-related .k{display:block;margin:12px 0 6px;font:700 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.plp-related b{font:600 17px/1.3 var(--display);color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .plp-grid{grid-template-columns:1fr;gap:0}
  .plp-side{display:none}
  .plp-toc-m{display:block}
  .plp-body{max-width:none}
  .plp-related .cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .plp-video .lbl span{display:none}
  .plp-hero{padding:22px 16px 0}
  .plp-grid{padding:28px 16px 0}
  .plp-feature{margin-left:-16px;margin-right:-16px;border-radius:0;aspect-ratio:4/3}
  .plp-pin{margin-left:0}
  .plp-byline{gap:10px 14px}
  .plp-body{font-size:17.5px}
  .plp-glance{padding:20px}
  .plp-glance dl{grid-template-columns:1fr}
  .plp-related{padding:40px 16px 56px}
  .plp-related .cards{gap:18px 14px}
  .plp-related b{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.plp *{transition:none!important}.plp-progress{display:none}}

/* single-column variant when a post has too few sections for a contents list */
.plp-grid--solo{grid-template-columns:minmax(0,760px);justify-content:center}
.plp-grid--solo .plp-body{max-width:760px}

/* the site's existing "Watch This Before You Go" card */
.plp .td-video-card{margin:2em 0;border-radius:20px;overflow:hidden;background:var(--ink);padding:0;border:0}
.plp .td-video-card .td-video-label{margin:0;padding:14px 18px;color:#fff;font:700 13px var(--body);letter-spacing:.08em;text-transform:uppercase}
.plp .td-video-card p{margin:0}
.plp .plp-yt,.plp .td-video-card iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}

/* Gutenberg tables, quotes and the at-a-glance box written into content */
.plp-body table{width:100%;border-collapse:collapse;font-size:16px;margin:1.5em 0}
.plp-body th,.plp-body td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.plp-body th{font-family:var(--display);background:var(--sand)}
.plp-body blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:4px solid var(--accent);font-size:20px;color:var(--ink)}
.plp-body ol{padding-left:1.3em;margin:0 0 1.4em}
.plp-body ol li{margin:.4em 0}
.plp-body .wp-block-image{margin:2em 0}

/* Interface links never take the theme's underline; links in the article text keep it. */
.plp .plp-crumbs a,.plp .plp-cat,.plp .plp-toc a,.plp .plp-pin,.plp .plp-related a,.plp .plp-author a{text-decoration:none}
.plp .plp-crumbs a:hover,.plp .plp-author a:hover{text-decoration:underline}
