/* Cycle Blueprint — global chrome (header search, footer, tokens, focus)
   Loaded site-wide by cb-homepage.php. Astra parent theme untouched. */
:root{
  --cb-ivory:#FCF9F6; --cb-blush:#F4EAE8; --cb-rose:#D8B7BE; --cb-plum:#805B72;
  --cb-aubergine:#3C2E38; --cb-sage:#AAB5A4; --cb-charcoal:#332F31; --cb-white:#FFFFFF;
  --cb-maxw:1200px; --cb-radius:20px; --cb-radius-sm:14px;
  --cb-shadow:0 1px 2px rgba(60,46,56,.04),0 8px 24px rgba(60,46,56,.06);
  --cb-border:1px solid #EADFE0;
  --cb-font-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --cb-font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
/* Accessible focus everywhere */
.cb-scope :focus-visible,.cb-search-toggle:focus-visible,#cb-search-panel :focus-visible,.cb-footer :focus-visible{
  outline:3px solid var(--cb-plum);outline-offset:2px;border-radius:4px;
}
/* ---------- Header search ---------- */
.cb-search-li{display:flex;align-items:center}
.cb-search-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;background:transparent;border:0;color:var(--cb-aubergine);cursor:pointer;border-radius:12px}
.cb-search-toggle:hover{background:var(--cb-blush)}
.cb-search-toggle svg{width:20px;height:20px;display:block}
#cb-search-panel{position:fixed;inset:0;z-index:99999;display:none;align-items:flex-start;justify-content:center;background:rgba(60,46,56,.45);padding:12vh 20px 20px}
#cb-search-panel[data-open="true"]{display:flex}
.cb-search-box{width:100%;max-width:640px;background:var(--cb-white);border-radius:var(--cb-radius);box-shadow:var(--cb-shadow);padding:22px}
.cb-search-box .cb-search-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cb-search-box label{font-family:var(--cb-font-sans);font-weight:600;color:var(--cb-aubergine);font-size:1rem}
.cb-search-close{min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.5rem;line-height:1;color:var(--cb-plum);cursor:pointer;border-radius:12px}
.cb-search-close:hover{background:var(--cb-blush)}
#cb-search-panel form{display:flex;gap:8px}
#cb-search-panel input[type=search]{flex:1;min-height:48px;padding:10px 14px;border:2px solid var(--cb-rose);border-radius:12px;font-size:1rem;font-family:var(--cb-font-sans);color:var(--cb-aubergine)}
#cb-search-panel input[type=search]:focus{outline:none;border-color:var(--cb-plum)}
#cb-search-panel button[type=submit]{min-height:48px;padding:0 20px;background:var(--cb-plum);color:#fff;border:0;border-radius:12px;font-weight:600;font-family:var(--cb-font-sans);cursor:pointer}
#cb-search-panel button[type=submit]:hover{background:var(--cb-aubergine)}
/* ---------- Footer ---------- */
.cb-footer{background:var(--cb-aubergine);color:#F3E9EC;font-family:var(--cb-font-sans)}
.cb-footer__inner{max-width:var(--cb-maxw);margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.cb-footer__brand h2{font-family:var(--cb-font-serif);color:#fff;font-size:1.5rem;margin:0 0 10px}
.cb-footer__brand p{margin:0;max-width:34ch;line-height:1.6;color:#D8C6CD;font-size:.95rem}
.cb-footer h3{font-family:var(--cb-font-sans);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--cb-rose);margin:0 0 14px}
.cb-footer ul{list-style:none;margin:0;padding:0}
.cb-footer li{margin:0 0 10px}
.cb-footer a{color:#EBDEE2;text-decoration:none;font-size:.95rem;display:inline-block;min-height:24px}
.cb-footer a:hover{color:#fff;text-decoration:underline}
.cb-footer__note{max-width:var(--cb-maxw);margin:0 auto;padding:0 24px 8px}
.cb-footer__note small{color:#B9A6AD;font-size:.8rem}
.cb-copyright{font-family:var(--cb-font-sans);color:var(--cb-charcoal)}
@media(max-width:880px){.cb-footer__inner{grid-template-columns:1fr 1fr;gap:28px}.cb-footer__brand{grid-column:1/-1}}
@media(max-width:560px){.cb-footer__inner{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cb-scope *,.cb-footer *,#cb-search-panel *{transition:none!important;animation:none!important}}