/* Puppy-S guide layout. Source: prototypes/guide-week-1/directions/collected-edition-r4 (scoped to .ps-guide). */
/* Legacy names point at the canonical tokens in shared.css (same values). Only the two without a canonical token keep their own value. */
.ps-guide{--primary-navy:var(--color-interactive-primary); --accent-blue:var(--color-focus); --text-dark:var(--color-text-primary); --body-gray:var(--color-text-body);
  --muted-gray:var(--wp--custom--color--muted-gray); --cta-green:var(--wp--custom--color--success); --soft-cream:var(--color-background-page); --border-cool:var(--color-border-subtle);
  --surface-white:var(--color-background-surface); --rule-strong:var(--color-border-strong);}
.ps-guide *{box-sizing:border-box}
.ps-guide a, .ps-guide summary{touch-action:manipulation}
.ps-guide{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
.ps-guide{margin:0;background:var(--surface-white);color:var(--body-gray);font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--body);line-height:1.7}
.ps-guide h1, .ps-guide h2, .ps-guide h3{font-family:var(--wp--preset--font-family--serif);color:var(--primary-navy);margin:0;font-weight:600;line-height:1.2}
.ps-guide h1{font-size:42px;margin:0 0 20px;letter-spacing:-.01em;text-align:center}
.ps-guide h2{font-size:28px;margin:0 0 16px}
.ps-guide h3{font-size:20px;margin:36px 0 12px}
.ps-guide h2, .ps-guide h3, .ps-guide .faq details, .ps-guide .about{scroll-margin-top:96px}
.ps-guide p{margin:0;color:var(--body-gray)}
.ps-guide a{color:var(--primary-navy);text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.ps-guide a:hover{color:var(--color-interactive-primary-hover)}
}
.ps-guide :focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px;border-radius:2px}
.ps-guide .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}
.ps-guide .nowrap{white-space:nowrap}
@media (hover:hover) and (pointer:fine){}
.ps-guide .opener{padding-top:48px;padding-bottom:0;text-align:center}
.ps-guide .opener__text{padding:0}
.ps-guide .standfirst{font-family:var(--wp--preset--font-family--serif);font-size:20px;line-height:1.55;color:var(--text-dark);max-width:34em;margin:0 auto 20px}
.ps-guide .byline{font-size:var(--wp--preset--font-size--body-s);color:var(--body-gray);margin:0 0 8px;overflow-wrap:anywhere}
.ps-guide .byline__sep{white-space:pre}
.ps-guide .trustline{font-size:var(--wp--preset--font-size--body-s);color:var(--body-gray);margin:0 0 40px}
.ps-guide .trustline a{color:var(--body-gray);display:inline-flex;align-items:center;min-height:44px}
.ps-guide .opener__photo{margin:0 0 0;padding:10px;background:var(--surface-white);border:1px solid var(--border-cool)}
.ps-guide .opener__photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 35%}
.ps-guide .shell{padding-top:48px;padding-bottom:56px}
.ps-guide .rail{margin:0 0 56px}
.ps-guide .rail__title{font-family:var(--wp--preset--font-family--serif);font-size:20px;font-weight:600;color:var(--primary-navy);text-align:center;margin:0 0 16px}
.ps-guide .toc{margin:0}
.ps-guide .toc summary{display:none}
.ps-guide .toc__list{list-style:none;margin:0;padding:0;counter-reset:toc;display:grid;grid-template-columns:1fr 1fr;column-gap:32px;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}
.ps-guide .toc__list li{counter-increment:toc;border-bottom:1px solid var(--border-cool)}
.ps-guide .toc__list li:nth-last-child(-n+2){border-bottom:0}
.ps-guide .toc__list a{display:flex;gap:10px;min-height:44px;padding:10px 0;color:var(--primary-navy);text-decoration:none;font-size:var(--wp--preset--font-size--body-s);font-weight:600;line-height:1.45}
.ps-guide .toc__list a::before{content:counter(toc,upper-roman);color:var(--body-gray);min-width:2.2em;font-family:var(--wp--preset--font-family--serif);font-weight:600}
@media (hover:hover) and (pointer:fine){.ps-guide .toc__list a:hover{text-decoration:underline}
}
.ps-guide .article{padding:0;counter-reset:sec}
.ps-guide .article__text{max-width:36rem;margin:0 auto}
.ps-guide .article__text p+p{text-indent:1.5em}
.ps-guide h2.num{counter-increment:sec;margin-top:72px;padding-top:24px;border-top:1px solid var(--border-cool)}
.ps-guide h2.num::before{content:counter(sec,upper-roman);display:block;font-family:var(--wp--preset--font-family--serif);font-size:var(--wp--preset--font-size--body-s);font-weight:600;letter-spacing:.12em;color:var(--body-gray);margin-bottom:8px}
.ps-guide .article > .article__text > h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.ps-guide figure.inline{margin:48px 0;padding:10px;background:var(--surface-white);border:1px solid var(--border-cool)}
.ps-guide figure.inline img{display:block;width:100%;height:auto;aspect-ratio:10/7;object-fit:cover}
.ps-guide figure.inline.breakout{margin-left:-56px;margin-right:-56px}
.ps-guide ul.normal{list-style:none;margin:20px 0 16px;padding:0;border-top:1px solid var(--rule-strong)}
.ps-guide ul.normal li{padding:14px 0;border-bottom:1px solid var(--border-cool)}
.ps-guide ul.normal strong{color:var(--primary-navy);font-weight:600}
.ps-guide .callout{background:var(--surface-white);border:1px solid var(--border-cool);border-top:3px solid var(--rule-strong);padding:20px 24px;margin:40px 0}
.ps-guide .callout .label{font-size:var(--wp--preset--font-size--body-s);font-weight:700;letter-spacing:0;text-transform:none;color:var(--primary-navy);margin:0 0 8px}
.ps-guide .callout p:last-child{margin-bottom:0}
.ps-guide .table-wrap{margin:28px 0 36px;border-top:3px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}
.ps-guide table{width:100%;border-collapse:collapse;font-size:var(--wp--preset--font-size--body)}
.ps-guide table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ps-guide th{color:var(--primary-navy);font-size:var(--wp--preset--font-size--body-s);font-weight:700;letter-spacing:.04em;text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--rule-strong);vertical-align:bottom}
.ps-guide td{padding:14px 16px 14px 0;border-bottom:1px solid var(--border-cool);color:var(--body-gray);vertical-align:top}
.ps-guide tr:last-child td{border-bottom:0}
.ps-guide td:first-child{width:30%;color:var(--primary-navy);font-weight:600;font-family:var(--wp--preset--font-family--serif);font-size:var(--wp--preset--font-size--body)}
.ps-guide .faq{border-top:1px solid var(--rule-strong)}
.ps-guide .faq details{border-bottom:1px solid var(--border-cool)}
.ps-guide .faq summary{cursor:pointer;color:var(--primary-navy);font-family:var(--wp--preset--font-family--serif);font-weight:600;font-size:20px;line-height:1.4;padding:16px 32px 16px 0;position:relative;list-style:none;min-height:44px}
.ps-guide .faq summary::-webkit-details-marker{display:none}
.ps-guide .faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--wp--preset--font-family--sans);font-size:22px;color:var(--accent-blue)}
.ps-guide .faq details[open] summary::after{content:"\2212"}
.ps-guide .faq details p{margin:0 0 18px}
.ps-guide .series{margin:56px 0 0;padding-top:24px;border-top:1px solid var(--rule-strong)}
.ps-guide .series ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-cool)}
.ps-guide .series li{border-bottom:1px solid var(--border-cool)}
.ps-guide .series li a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;color:var(--primary-navy);text-decoration:none;font-weight:600}
.ps-guide .optin{margin:56px 0 0;padding:28px 0 0;border-top:1px solid var(--rule-strong);text-align:center}
.ps-guide .keepgoing{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule-strong)}
.ps-guide .keepgoing h2{font-size:20px;margin:0 0 8px}
.ps-guide .about{margin:56px 0 0;padding:24px 0 0;border-top:1px solid var(--rule-strong)}
.ps-guide .about p{font-size:var(--wp--preset--font-size--body-s);line-height:1.6;margin:0 0 8px}
.ps-guide .article__text .about p+p, .ps-guide .article__text .callout p+p{text-indent:0}
.ps-guide .pending{color:var(--primary-navy);font-weight:600}
.ps-guide .start{margin:0 0 48px}
.ps-guide .start h2{text-align:center;margin:0 0 16px}
.ps-guide .start ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}
.ps-guide .start li+li{border-top:1px solid var(--border-cool)}
.ps-guide .start li a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:44px;padding:10px 0;color:var(--primary-navy);text-decoration:none;font-weight:600}
@media (hover:hover) and (pointer:fine){.ps-guide .start li a:hover{text-decoration:underline}
}
.ps-guide .start li a span{font-weight:400;font-size:var(--wp--preset--font-size--body-s);color:var(--body-gray)}
.ps-guide .sub{font-size:20px;margin:0 0 8px}
@media (max-width:1099px){.ps-guide .rail__title{display:none}
.ps-guide .toc summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;list-style:none;font-family:var(--wp--preset--font-family--serif);font-size:20px;font-weight:600;color:var(--primary-navy);border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--border-cool)}
.ps-guide .toc summary::-webkit-details-marker{display:none}
.ps-guide .toc summary::after{content:"+";font-family:var(--wp--preset--font-family--sans);font-size:22px;color:var(--accent-blue)}
.ps-guide .toc[open] summary::after{content:"\2212"}
.ps-guide .toc__list{border-top:0;border-bottom:0}
.ps-guide figure.inline.breakout{margin-left:-40px;margin-right:-40px}
}
@media (max-width:767px){body.ps-guide-page .site-content > .ast-container{padding-left:0 !important;padding-right:0 !important}
.ps-guide{padding:0 20px}
.ps-guide h1{font-size:28px}
.ps-guide .standfirst{font-size:20px}
.ps-guide .toc__list{grid-template-columns:1fr}
.ps-guide .toc__list li:nth-last-child(-n+2){border-bottom:1px solid var(--border-cool)}
.ps-guide .toc__list li:last-child{border-bottom:0}
.ps-guide .article__text{max-width:none}
.ps-guide figure.inline{margin:36px 0}
.ps-guide figure.inline.breakout{margin-left:0;margin-right:0}
.ps-guide .opener__photo{padding:6px}
.ps-guide .crumb__current{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ps-guide .byline__sep{display:block;height:0;visibility:hidden}
}
/* Astra caps the single-post container at 750px; the r4 sheet is 880px (DESIGN-TOKENS.md section 3). Only on guide pages. */
.ps-guide-page .site-content > .ast-container{display:block;max-width:880px;padding-left:0;padding-right:0}
.ps-guide-page .site-content > .ast-container > *{width:100%;max-width:none;margin-left:0;margin-right:0}
body.ps-guide-page, body.ps-guide-page #page, body.ps-guide-page #content{background:var(--color-background-page)}
@media (prefers-reduced-motion: reduce){.ps-guide{scroll-behavior:auto}
}

/* Child-theme additions: affiliate disclosure and sources list (no new colours). */
.ps-guide .disclosure{font-size:var(--wp--preset--font-size--body-s);line-height:1.55;color:var(--body-gray);max-width:34em;margin:0 auto 32px;padding-top:12px;border-top:1px solid var(--border-cool)}
.ps-guide .sources{margin:8px 0 0;padding-left:1.4em;font-size:var(--wp--preset--font-size--body-s);line-height:1.6;color:var(--body-gray)}
.ps-guide .sources li{margin:0 0 6px}

/* Guides archive (Template 03). Scoped to .ps-archive. Matches prototypes/archive-template-03. */
.ps-archive .ps-archive__sheet{max-width:880px;margin:0 auto;padding:48px 56px 56px;background:var(--surface-white)}
.ps-archive h1{text-align:left;font-size:42px;margin-bottom:20px}
.ps-archive .standfirst{font-family:var(--wp--preset--font-family--serif);font-size:20px;line-height:1.55;color:var(--text-dark);max-width:34em;margin-bottom:40px;text-align:left}
.ps-archive .group{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--rule-strong)}
.ps-archive .group__label{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--body-s);font-weight:600;letter-spacing:.04em;color:var(--body-gray);margin:0}
.ps-archive .group ul{list-style:none;margin:0;padding:0}
.ps-archive .group li{border-bottom:1px solid var(--border-cool)}
.ps-archive .group li:first-child{border-top:0}
.ps-archive .group li a{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:14px 0;text-decoration:none}
.ps-archive .group li a:hover h3{text-decoration:underline}
.ps-archive .group h3{font-size:20px;margin:0 0 4px}
.ps-archive .meta{font-size:var(--wp--preset--font-size--body-s);color:var(--body-gray);margin-top:2px}
.ps-archive .desc{font-size:15px;line-height:1.6;color:var(--body-gray);margin-top:6px;max-width:40em}
@media (max-width:767px){
  body.ps-guide-page .ps-archive .ps-archive__sheet{padding:32px 20px 40px}
  .ps-archive h1{font-size:28px}
  .ps-archive .group{grid-template-columns:1fr;gap:12px;padding:24px 0}
}
.ps-archive .group li a .desc{color:var(--body-gray)}
.ps-archive .group li a .meta{color:var(--body-gray)}
.ps-guide .vet-questions{margin:48px 0 0;padding:24px 28px;background:var(--surface-white);border:1px solid var(--border-cool);border-top:3px solid var(--rule-strong)}
.ps-guide .vet-questions ul{list-style:none;margin:12px 0 0;padding:0}
.ps-guide .vet-questions li{padding:10px 0 10px 28px;border-bottom:1px solid var(--border-cool);position:relative;color:var(--text-dark)}
.ps-guide .vet-questions li::before{content:"?";position:absolute;left:0;top:10px;font-family:var(--wp--preset--font-family--serif);font-weight:600;color:var(--accent-blue)}
.ps-guide .vet-questions li:last-child{border-bottom:0}
