/*
Theme Name: Say-So
Theme URI: https://okey-dokey.show/
Author: Ethan McLeod
Description: Standalone theme for okey-dokey.show — a plain-English bonus & wagering terms desk.
Structural idea: "The Say-So" — every entry renders as a two-line exchange (a quiet "fine print"
excerpt line paired with an "Okey Dokey says" reply line carrying the real title), not a card, not
a table, not a route/trail line, not a flight-log rail. Single posts open with one real "Quick
Say-So" exchange block before the prose.
Version: 89fbd6d1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: say-so
*/

/* ============ tokens ============ */
:root{
  --okd-ink-950:#2a160e;
  --okd-ink-900:#38200f;
  --okd-ink-800:#472a16;
  --okd-paper:#faf3e3;
  --okd-surface:#f1e5c9;
  --okd-surface-soft:#f6eeda;
  --okd-border:#e2d3ad;
  --okd-border-soft:#ece0c0;
  --okd-text-900:#241108;
  --okd-text-600:#6e5748;
  --okd-text-inverse:#faf3e3;
  --okd-gold-400:#f0c85a;
  --okd-gold-500:#d4a52e;
  --okd-gold-700:#8a5f10;
  --okd-red-600:#b5342a;
  --okd-red-700:#8f2a1e;
  --okd-focus:#8a5f10;

  --okd-space-1:4px;
  --okd-space-2:8px;
  --okd-space-3:12px;
  --okd-space-4:16px;
  --okd-space-5:24px;
  --okd-space-6:32px;
  --okd-space-7:48px;
  --okd-space-8:64px;
  --okd-space-9:96px;

  --okd-radius-sm:4px;
  --okd-radius-md:12px;
  --okd-radius-pill:999px;
  --okd-shell:1160px;
  --okd-measure:70ch;

  --okd-font-head: -apple-system, BlinkMacSystemFont, "Segoe UI Rounded", "SF Pro Rounded", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --okd-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --okd-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--okd-paper);
  color:var(--okd-text-900);
  font-family:var(--okd-font-body);
  font-size:17px;
  line-height:1.6;
  min-width:0;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--okd-red-600);text-decoration-thickness:1.5px;text-underline-offset:2px}
a:hover{color:var(--okd-gold-700)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--okd-focus);outline-offset:2px;
}
h1,h2,h3{font-family:var(--okd-font-head);font-weight:800;letter-spacing:-.01em;line-height:1.36;margin:0 0 var(--okd-space-3);color:var(--okd-text-900)}
h1{font-size:clamp(1.75rem,1.35rem + 1.5vw,2.6rem);line-height:1.34}
h2{font-size:1.3rem}
h3{font-size:1.05rem}
p{margin:0 0 var(--okd-space-4)}
ul,ol{margin:0 0 var(--okd-space-4);padding-left:1.3em}
.okd-shell{max-width:var(--okd-shell);margin:0 auto;padding:0 var(--okd-space-5)}

.okd-skip{
  position:absolute;left:-999px;top:0;background:var(--okd-ink-950);color:var(--okd-text-inverse);
  padding:var(--okd-space-2) var(--okd-space-4);z-index:100;border-radius:0 0 var(--okd-radius-sm) 0;
}
.okd-skip:focus{left:0}

/* ============ header ============ */
.okd-header{background:var(--okd-ink-950);border-bottom:3px solid var(--okd-gold-500)}
.okd-header__inside{
  display:flex;align-items:center;justify-content:space-between;gap:var(--okd-space-4);
  padding:var(--okd-space-4) 0;
}
.okd-brand{display:flex;align-items:center;gap:var(--okd-space-3);min-width:0;color:var(--okd-text-inverse);text-decoration:none}
.okd-brand__logo{height:44px;width:auto}
.okd-brand__name{font-family:var(--okd-font-head);font-weight:800;font-size:1.25rem;color:var(--okd-text-inverse);margin:0}
.okd-brand__tag{display:block;font-family:var(--okd-font-body);font-size:.82rem;letter-spacing:.01em;color:var(--okd-gold-400);margin-top:2px;font-weight:400}

.okd-menu-button{
  display:none;align-items:center;gap:var(--okd-space-2);background:transparent;color:var(--okd-text-inverse);
  border:1.5px solid var(--okd-gold-500);border-radius:var(--okd-radius-pill);padding:var(--okd-space-2) var(--okd-space-3);
  font-family:var(--okd-font-body);font-size:.95rem;font-weight:400;min-height:48px;min-width:48px;cursor:pointer;
}
.okd-menu-button__icon{width:20px;height:20px}
.okd-menu-button__icon line{stroke:var(--okd-gold-400);stroke-width:2;stroke-linecap:round}

.okd-navigation__list{list-style:none;display:flex;gap:var(--okd-space-5);margin:0;padding:0}
.okd-navigation__list a{
  color:var(--okd-text-inverse);text-decoration:none;font-size:.98rem;padding:var(--okd-space-2) 0;
  border-bottom:2px solid transparent;
}
.okd-navigation__list a:hover,.okd-navigation__list a:focus-visible{border-bottom-color:var(--okd-gold-500);color:var(--okd-gold-400)}
.okd-navigation__list a:focus-visible{outline-color:var(--okd-gold-400)}

@media (max-width:560px){
  .okd-brand__tag{display:none}
}
@media (max-width:820px){
  .okd-menu-button{display:inline-flex}
  .okd-navigation{
    position:absolute;left:0;right:0;top:100%;background:var(--okd-ink-950);
    border-bottom:3px solid var(--okd-gold-500);max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  .okd-navigation--open{max-height:420px}
  .okd-header{position:relative}
  .okd-navigation__list{flex-direction:column;gap:0;padding:var(--okd-space-3) var(--okd-space-5) var(--okd-space-5)}
  .okd-navigation__list a{display:block;padding:var(--okd-space-3) 0;min-height:48px}
}

/* ============ hero ============ */
.okd-hero{padding:var(--okd-space-8) 0 var(--okd-space-6)}
.okd-hero__kicker{
  display:inline-flex;align-items:center;gap:var(--okd-space-2);font-family:var(--okd-font-body);font-weight:600;
  font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:var(--okd-red-600);margin:0 0 var(--okd-space-3);
}
.okd-hero__title{max-width:22ch}
.okd-hero__text{max-width:var(--okd-measure);font-size:1.1rem;color:var(--okd-text-600)}

/* ============ coverage strip ============ */
.okd-coverage{padding-bottom:var(--okd-space-7);display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--okd-space-3)}
.okd-coverage__item{
  display:flex;align-items:center;justify-content:space-between;gap:var(--okd-space-2);text-decoration:none;
  border:1px solid var(--okd-border);border-radius:var(--okd-radius-md);
  padding:var(--okd-space-3) var(--okd-space-4);color:var(--okd-text-900);background:#fff;
}
.okd-coverage__item:hover,.okd-coverage__item:focus-visible{border-color:var(--okd-gold-500);background:var(--okd-surface-soft)}
.okd-coverage__name{font-weight:700;font-size:.94rem}
.okd-coverage__count{font-family:var(--okd-font-mono);font-size:.85rem;font-weight:400;color:var(--okd-text-600)}

/* ============ the Say-So exchange list ============ */
.okd-section-heading{margin-bottom:var(--okd-space-5)}
.okd-section-heading p{color:var(--okd-text-600);margin:0}
.okd-exchange-section{padding-bottom:var(--okd-space-8)}
.okd-exchange-list{list-style:none;margin:0;padding:0}
.okd-exchange{
  display:flex;gap:var(--okd-space-4);padding:var(--okd-space-5) 0;border-bottom:1px solid var(--okd-border-soft);
}
.okd-exchange:hover{background:var(--okd-surface-soft)}
.okd-exchange__media{flex:none;width:96px;height:96px;border-radius:var(--okd-radius-md);overflow:hidden;background:var(--okd-surface)}
.okd-exchange__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.okd-exchange:hover .okd-exchange__media img{transform:scale(1.06)}
.okd-exchange__media-fallback{display:block;width:100%;height:100%}
.okd-exchange__body{min-width:0;flex:1}
.okd-exchange__eyebrow{
  display:inline-block;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  color:var(--okd-gold-700);text-decoration:none;margin-bottom:var(--okd-space-2);
}
.okd-exchange__dl{margin:0}
.okd-exchange__row{display:flex;align-items:flex-start;gap:var(--okd-space-2);margin:0 0 var(--okd-space-1);min-width:0}
.okd-exchange__row dt{
  flex:none;font-family:var(--okd-font-mono);font-size:.85rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;padding:2px 8px;border-radius:var(--okd-radius-pill);margin-top:2px;
}
.okd-exchange__row--print dt{background:var(--okd-surface);color:var(--okd-text-600);border:1px solid var(--okd-border)}
.okd-exchange__row--reply dt{background:var(--okd-red-600);color:#fff}
.okd-exchange__row dd{margin:0;min-width:0}
.okd-exchange__row--print dd{color:var(--okd-text-600);font-size:.95rem;font-style:italic}
.okd-exchange__row--reply dd{font-size:1.14rem;font-weight:800}
.okd-exchange__row--reply dd a{color:var(--okd-text-900);text-decoration:none}
.okd-exchange__row--reply dd a:hover,.okd-exchange__row--reply dd a:focus-visible{color:var(--okd-red-600)}
.okd-exchange__meta{margin:var(--okd-space-2) 0 0;display:flex;gap:var(--okd-space-3);font-size:.85rem;color:var(--okd-text-600);flex-wrap:wrap}
@media (max-width:640px){
  .okd-exchange{gap:var(--okd-space-3)}
  .okd-exchange__media{width:64px;height:64px}
  .okd-exchange__row--print{display:none}
}
.okd-empty{color:var(--okd-text-600);padding:var(--okd-space-6) 0}

.okd-pagination{padding-bottom:var(--okd-space-8)}
.okd-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  border:1px solid var(--okd-border);border-radius:var(--okd-radius-sm);margin-right:var(--okd-space-2);
  text-decoration:none;color:var(--okd-text-900);font-family:var(--okd-font-mono);
}
.okd-pagination .page-numbers.current{background:var(--okd-ink-950);color:var(--okd-text-inverse);border-color:var(--okd-ink-950)}
.okd-pagination .page-numbers:hover{border-color:var(--okd-red-600)}

/* ============ article ============ */
.okd-article{padding:var(--okd-space-7) 0}
.okd-article__content{min-width:0;max-width:760px;margin:0 auto}
.okd-article__eyebrow{
  display:inline-block;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--okd-gold-700);text-decoration:none;margin-bottom:var(--okd-space-3);
}
.okd-article__title{max-width:none}
.okd-article__meta{color:var(--okd-text-600);font-size:.92rem;margin-bottom:var(--okd-space-5)}
.okd-article__figure{margin:0 0 var(--okd-space-5);border-radius:var(--okd-radius-md);overflow:hidden}

/* Quick Say-So callout — one real exchange drawn from the post's own excerpt */
.okd-quick-sayso{
  background:var(--okd-surface);border:1px solid var(--okd-border);border-radius:var(--okd-radius-md);
  padding:var(--okd-space-5);margin:0 0 var(--okd-space-6);
}
.okd-quick-sayso__label{
  font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--okd-text-600);
  margin:0 0 var(--okd-space-3);
}
.okd-quick-sayso .okd-exchange__row{margin-bottom:var(--okd-space-2)}
.okd-quick-sayso .okd-exchange__row--print dd{font-size:1rem}
.okd-quick-sayso .okd-exchange__row--reply dd{font-size:1.05rem}

.okd-article__body{max-width:var(--okd-measure);font-size:1.05rem;line-height:1.7}
.okd-article__body h2{margin-top:var(--okd-space-6)}
.okd-article__body h3{margin-top:var(--okd-space-5)}
.okd-article__body img{border-radius:var(--okd-radius-md);margin:var(--okd-space-4) 0}
.okd-article__body table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;min-width:0}
.okd-article__body table td,.okd-article__body table th{border:1px solid var(--okd-border);padding:var(--okd-space-2) var(--okd-space-3);min-width:120px}

.okd-note{
  border-left:3px solid var(--okd-red-600);background:var(--okd-surface-soft);border-radius:0 var(--okd-radius-md) var(--okd-radius-md) 0;
  padding:var(--okd-space-4) var(--okd-space-5);margin-top:var(--okd-space-6);max-width:var(--okd-measure);
}
.okd-note__label{
  font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--okd-red-700);
  margin:0 0 var(--okd-space-2);
}
.okd-note__text{margin:0;font-size:.92rem;color:var(--okd-text-600)}

.okd-byline{
  display:grid;grid-template-columns:56px 1fr;column-gap:var(--okd-space-3);align-items:center;
  margin-top:var(--okd-space-6);padding-top:var(--okd-space-5);border-top:1px solid var(--okd-border-soft);
  max-width:var(--okd-measure);
}
.okd-byline__avatar{grid-row:1 / span 2;width:56px;height:56px;border-radius:50%;object-fit:cover;aspect-ratio:1/1;border:2px solid var(--okd-gold-500)}
.okd-byline__name{grid-column:2;margin:0;font-weight:700}
.okd-byline__name a{color:var(--okd-text-900);text-decoration:none}
.okd-byline__role{grid-column:2;margin:0;font-size:.88rem;color:var(--okd-text-600)}

/* ============ static pages ============ */
.okd-page{padding:var(--okd-space-7) 0}
.okd-page__title{max-width:none}
.okd-page__byline{display:flex;align-items:center;gap:var(--okd-space-3);margin-bottom:var(--okd-space-5)}
.okd-page__avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;aspect-ratio:1/1;border:2px solid var(--okd-gold-500)}
.okd-page__byline-role{margin:0;color:var(--okd-text-600)}
.okd-page__body{max-width:var(--okd-measure);font-size:1.05rem}
.okd-page__body h2{margin-top:var(--okd-space-6)}

/* ============ archive intro ============ */
.okd-archive-intro{max-width:var(--okd-measure);color:var(--okd-text-600);font-size:1.02rem}
.okd-archive-intro p:last-child{margin-bottom:0}

/* ============ search ============ */
.okd-search{margin-top:var(--okd-space-4);display:flex;flex-wrap:wrap;gap:var(--okd-space-2);max-width:480px}
.okd-search__label{flex-basis:100%;display:block;margin-bottom:var(--okd-space-2);font-weight:700}
.okd-search__input{
  flex:1;min-height:48px;padding:0 var(--okd-space-3);border:1px solid var(--okd-border);border-radius:var(--okd-radius-sm);
  font-size:1rem;background:#fff;color:var(--okd-text-900);
}
.okd-search__button{
  min-height:48px;padding:0 var(--okd-space-5);border:1px solid var(--okd-ink-950);border-radius:var(--okd-radius-sm);
  background:var(--okd-ink-950);color:var(--okd-text-inverse);font-size:1rem;cursor:pointer;
}
.okd-search__button:hover{background:var(--okd-red-600);border-color:var(--okd-red-600)}

/* ============ footer ============ */
.okd-footer{background:var(--okd-ink-950);color:var(--okd-text-inverse);margin-top:var(--okd-space-8)}
.okd-footer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--okd-space-6);padding:var(--okd-space-7) 0 var(--okd-space-6);margin:0}
.okd-footer__heading{color:var(--okd-gold-400);font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--okd-space-3);font-weight:700}
.okd-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--okd-space-2)}
.okd-footer__list a{color:var(--okd-text-inverse);text-decoration:none;opacity:.9}
.okd-footer__list a:hover,.okd-footer__list a:focus-visible{opacity:1;color:var(--okd-gold-400)}
.okd-footer__note a{color:var(--okd-gold-400);text-decoration:underline;text-underline-offset:2px}
.okd-footer__note{color:var(--okd-text-inverse);opacity:.85;font-size:.92rem;margin:0 0 var(--okd-space-2)}
.okd-footer__note strong{color:var(--okd-gold-400)}
.okd-footer__base{
  border-top:1px solid var(--okd-ink-800);padding:var(--okd-space-4) 0 var(--okd-space-6);font-size:.82rem;
  color:var(--okd-text-inverse);opacity:.75;
}
.okd-footer__badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:2.2em;padding:2px 6px;margin-right:var(--okd-space-2);
  border:1.5px solid var(--okd-gold-500);border-radius:var(--okd-radius-sm);color:var(--okd-gold-400);font-weight:700;font-size:.82rem;
}
@media (max-width:720px){
  .okd-footer__grid{grid-template-columns:1fr;padding-bottom:var(--okd-space-4)}
}

@media (prefers-reduced-motion:reduce){
  .okd-exchange__media img,.okd-navigation{transition:none}
}
