/* LOCKED shared AI Playbook system. All page variation belongs in content data.
   No page IDs, sector selectors, inline styles or alternate layout classes. */
.bp-ai {
 --ai-accent:var(--wp--preset--color--accent,#61ce70);
 --ai-surface:var(--wp--preset--color--surface,#171717);
 --ai-stroke:var(--wp--preset--color--stroke,#444);
 --ai-muted:var(--wp--preset--color--muted,#d0d0d0);
 --ai-gap:12px; --ai-section-gap:24px; --ai-summary-height:44px;
}
.bp-ai *, .bp-ai *::before, .bp-ai *::after { box-sizing:border-box; }
.bp-ai .bp-ai-hero { background:var(--ai-surface); border-bottom:1px solid var(--ai-stroke); padding:20px var(--bp-gutter); text-align:center; }
.bp-ai .bp-ai-hero>* { max-width:1000px; margin-inline:auto; }
.wp-site-blocks .bp-ai .bp-ai-hero h1 { font-family:var(--bp-font); font-size:36px; font-weight:700; line-height:1.15; letter-spacing:-.02em; margin:0 auto 14px; text-wrap:balance; }
.bp-ai .bp-ai-hero .bp-ai-lead { max-width:800px; font-size:18px; line-height:1.5; color:var(--ai-muted); margin:0 auto; }
.bp-ai .bp-ai-eyebrow { color:var(--ai-accent); font-size:14px; font-weight:700; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; margin:0 0 10px; }
.bp-ai .bp-ai-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; max-width:calc(var(--bp-content) + 2 * var(--bp-gutter)); padding:24px var(--bp-gutter) 40px; margin:0 auto; }
.bp-ai .bp-ai-sidebar { align-self:start; position:sticky; top:24px; max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; padding-right:8px; }
.admin-bar .bp-ai .bp-ai-sidebar { top:56px; max-height:calc(100dvh - 80px); }
.bp-ai .bp-ai-menu { border:0; border-radius:0; background:transparent; padding:0; margin:0; }
.bp-ai .bp-ai-menu>summary { display:none; }
.bp-ai .bp-ai-menu nav+nav { margin-top:16px; padding-top:16px; border-top:1px solid var(--ai-stroke); }
.bp-ai .bp-ai-menu nav .bp-ai-eyebrow { margin:0 0 6px; }
.bp-ai .bp-ai-menu ul { margin:0; padding:0; list-style:none; }
.bp-ai .bp-ai-menu li { margin:0; padding:0; }
.bp-ai .bp-ai-menu a,.bp-ai .bp-ai-unavailable { display:block; padding:8px 10px; min-height:36px; border-left:2px solid transparent; border-radius:0 4px 4px 0; font-size:16px; line-height:1.3; text-decoration:none; color:inherit; }
.bp-ai .bp-ai-menu a:hover { background:#61ce700d; color:var(--ai-accent); }
.bp-ai .bp-ai-menu [aria-current="page"] { background:#61ce7014; border-left-color:var(--ai-accent); color:var(--ai-accent); font-weight:700; }
.bp-ai .bp-ai-unavailable { color:var(--ai-muted); }
.bp-ai .bp-ai-unavailable small { display:block; font-size:14px; }
.bp-ai .bp-ai-content { min-width:0; max-width:100%; }
.bp-ai .bp-ai-content p,.bp-ai .bp-ai-content li { font-size:16px; line-height:1.6; }
.bp-ai .bp-ai-content p { margin:0 0 12px; }
.bp-ai .bp-ai-content ul { padding-left:22px; margin:0 0 12px; }
.bp-ai .bp-ai-content li+li { margin-top:6px; }
.bp-ai .bp-ai-content .bp-ai-review-note { font-size:14px; color:var(--ai-muted); margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--ai-stroke); }
.bp-ai .bp-ai-intro { margin:0 0 16px; }
.bp-ai .bp-ai-intro:empty { display:none; }
.bp-ai .bp-ai-jump { display:inline-flex; gap:24px; align-items:center; min-height:44px; margin:0 0 12px; font-size:16px; font-weight:700; color:var(--ai-accent); text-underline-offset:4px; }
.wp-site-blocks .bp-ai .bp-ai-content h2 { font-size:21px; line-height:1.2; font-weight:700; letter-spacing:-.01em; margin:0 0 12px; text-wrap:balance; }
.wp-site-blocks .bp-ai .bp-ai-content h3 { font-size:20px; line-height:1.3; font-weight:700; letter-spacing:0; margin:0 0 10px; }
.bp-ai .bp-ai-section { margin:var(--ai-section-gap) 0; }
.bp-ai .bp-ai-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ai-gap); margin:16px 0 0; padding:0; }
.bp-ai .bp-ai-grid>* { margin:0; }
.bp-ai .bp-ai-card { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid var(--ai-stroke); border-radius:8px; background:var(--ai-surface); color:inherit; text-decoration:none; }
.bp-ai .bp-ai-card>p:last-child { margin-bottom:0; }
.bp-ai .bp-ai-card>p:not(.bp-ai-eyebrow) { color:var(--ai-muted); }
.bp-ai .bp-ai-card[href]:hover { border-color:var(--ai-accent); background:#1b251d; }
.bp-ai .bp-ai-card-action { display:flex; align-items:center; justify-content:space-between; padding-top:14px; margin-top:auto; font-size:16px; line-height:1.4; font-weight:600; color:var(--ai-accent); }
.bp-ai .bp-ai-card-action span { font-size:22px; }
/* The only content accordion. Same fixed header height, padding and behavior. */
.bp-ai .bp-ai-accordion { padding:0; margin:0; border:1px solid var(--ai-stroke); border-radius:8px; background:var(--ai-surface); scroll-margin-top:24px; }
.bp-ai .bp-ai-accordion+.bp-ai-accordion { margin-top:4px; }
.bp-ai .bp-ai-accordion>summary { display:flex; align-items:center; gap:10px; position:relative; list-style:none; cursor:pointer; height:var(--ai-summary-height); padding:6px 48px 6px 16px; font-family:var(--bp-font); font-size:18px; font-weight:600; line-height:1.3; margin:0; }
.bp-ai .bp-ai-accordion>summary::-webkit-details-marker { display:none; }
.bp-ai .bp-ai-accordion>summary::after { content:'+'; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:24px; line-height:1; font-weight:400; color:var(--ai-accent); }
.bp-ai .bp-ai-accordion[open]>summary::after { content:'−'; }
.bp-ai .bp-ai-accordion[open]>summary { border-bottom:1px solid var(--ai-stroke); }
.bp-ai .bp-ai-index { flex:0 0 20px; font-size:14px; color:var(--ai-accent); font-weight:700; }
.bp-ai .bp-ai-accordion-body { padding:8px 16px; }
.bp-ai .bp-ai-accordion-body>:last-child { margin-bottom:0; }
.bp-ai .bp-ai-accordion-body a { color:var(--ai-accent); text-underline-offset:3px; overflow-wrap:anywhere; }
.bp-ai :is(a,summary):focus-visible { outline:2px solid var(--ai-accent); outline-offset:3px; border-radius:4px; }
@media(min-width:901px) {
 /* A single navigation tree remains visible even with JS disabled. */
 .bp-ai .bp-ai-menu::details-content { display:block; content-visibility:visible; }
 .bp-ai .bp-ai-menu:not([open])>.bp-ai-menu-body { display:block; }
}
@media(max-width:1024px) {
 .wp-site-blocks .bp-ai .bp-ai-hero h1 { font-size:30px; }
 .bp-ai .bp-ai-layout { grid-template-columns:220px minmax(0,1fr); gap:24px; }
}
@media(max-width:900px) {
 .bp-ai .bp-ai-layout { display:block; padding-top:16px; }
 .bp-ai .bp-ai-sidebar,.admin-bar .bp-ai .bp-ai-sidebar { position:static; max-height:none; overflow:visible; padding:0; margin:0 0 20px; }
 .bp-ai .bp-ai-menu { border:1px solid var(--ai-stroke); border-radius:8px; background:var(--ai-surface); }
 .bp-ai .bp-ai-menu>summary { display:flex; flex-wrap:wrap; align-items:center; column-gap:14px; position:relative; min-height:56px; padding:12px 42px 12px 16px; font-size:16px; font-weight:600; line-height:1.4; list-style:none; cursor:pointer; }
 .bp-ai .bp-ai-menu>summary::-webkit-details-marker { display:none; }
 .bp-ai .bp-ai-menu>summary>span { color:var(--ai-accent); font-weight:400; }
 .bp-ai .bp-ai-menu>summary::after { content:'+'; position:absolute; top:50%; right:16px; transform:translateY(-50%); color:var(--ai-accent); font-size:24px; }
 .bp-ai .bp-ai-menu[open]>summary::after { content:'−'; }
 .bp-ai .bp-ai-menu[open]>summary { border-bottom:1px solid var(--ai-stroke); }
 .bp-ai .bp-ai-menu-body { padding:16px; }
 .bp-ai .bp-ai-menu a,.bp-ai .bp-ai-unavailable { min-height:44px; padding:12px 10px; }
}
@media(max-width:600px) {
 .bp-ai { --ai-section-gap:20px; --ai-summary-height:52px; }
 .bp-ai .bp-ai-hero { padding:16px var(--bp-gutter); }
 .wp-site-blocks .bp-ai .bp-ai-hero h1 { font-size:25px; }
 .bp-ai .bp-ai-hero .bp-ai-lead { font-size:17px; }
 .bp-ai .bp-ai-layout { padding-bottom:28px; }
 .wp-site-blocks .bp-ai .bp-ai-content h2 { font-size:18px; text-wrap:initial; }
 .bp-ai .bp-ai-grid { grid-template-columns:minmax(0,1fr); }
 .bp-ai .bp-ai-card { padding:16px; }
 .bp-ai .bp-ai-accordion>summary { font-size:17px; padding-block:4px; padding-left:14px; padding-right:40px; gap:8px; }
 .bp-ai .bp-ai-accordion>summary::after { right:14px; }
 .bp-ai .bp-ai-accordion-body { padding:7px 14px; }
}
@media print {
 .bp-ai .bp-ai-sidebar,.bp-ai .bp-ai-review-note { display:none; }
 .bp-ai .bp-ai-layout { display:block; }
 .bp-ai .bp-ai-accordion::details-content { display:block; content-visibility:visible; }
}

/* Content labels are subordinate to headings; navigation and hero labels retain their hierarchy. */
.bp-ai .bp-ai-content .bp-ai-section>.bp-ai-eyebrow { font-weight:500; letter-spacing:.04em; color:#a7c9ad; }
