/* Whirled Bees — A Guide to World Peace
   Brand palette from the production logo package. Light, warm, KISS. */
:root{
  --bee:#FFCA2F; --wordmark:#FFC82D; --ink:#271A13; --ocean:#48B9F4;
  --land:#5EAD47; --cream:#FFF8E6; --trail:#FFB81C; --cheek:#F4939A;
  --ink-soft:#4a3a30; --card:#fffdf6; --line:#eadfc2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:Georgia,'Times New Roman',serif; line-height:1.55;
  font-size:17px;
}
a{color:#1a6fa8}
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:3px solid var(--ocean); outline-offset:2px;
}
.wrap{max-width:880px; margin:0 auto; padding:0 18px 48px}

/* Header */
.site-head{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:14px 18px; max-width:880px; margin:0 auto;
}
.site-head .icon{width:52px; height:52px}
.site-head .wordmark{height:34px; width:auto}
.site-head nav{margin-left:auto; display:flex; gap:16px; flex-wrap:wrap;
  font-family:Verdana,Geneva,sans-serif; font-size:.85rem}
.site-head nav a{color:var(--ink); text-decoration:none; font-weight:bold}
.site-head nav a:hover{text-decoration:underline}

/* Hero + intro */
.hero{text-align:center; padding:18px 0 6px}
.hero img.logo{max-width:300px; width:70%; height:auto}
h1{font-size:2rem; line-height:1.2; margin:.4em 0 .3em}
h2{font-size:1.45rem; margin:1.4em 0 .4em; line-height:1.25}
h3{font-size:1.12rem; margin:1.1em 0 .3em}
.lede{font-size:1.12rem}
.small{font-size:.9rem; color:var(--ink-soft)}
blockquote.pull{
  border-left:5px solid var(--trail); margin:18px 0; padding:8px 16px;
  background:var(--card); font-style:italic;
}

/* Search */
.search-box{
  background:var(--card); border:2px solid var(--ink); border-radius:14px;
  padding:16px; margin:22px 0;
}
.search-box label{font-weight:bold; display:block; margin-bottom:8px}
.search-row{display:flex; gap:8px}
.search-row input{
  flex:1; font-size:1rem; padding:10px 12px; border:2px solid var(--ink-soft);
  border-radius:10px; font-family:inherit; min-width:0;
}
.search-row button{
  background:var(--bee); border:2px solid var(--ink); border-radius:10px;
  font-weight:bold; padding:10px 16px; cursor:pointer; font-size:1rem;
}
.search-row button:hover{background:var(--wordmark)}
#search-status{margin:10px 0 0}

/* Entry cards */
.entry{
  background:var(--card); border:1.5px solid var(--line); border-left:6px solid var(--bee);
  border-radius:10px; padding:12px 16px; margin:10px 0;
}
.entry .text{margin:0}
.entry .text::before{content:"“"} .entry .text::after{content:"”"}
.entry.teaching .text::before,.entry.teaching .text::after{content:""}
.entry .src{margin:6px 0 0; font-size:.9rem; color:var(--ink-soft)}
.tags{margin:8px 0 0; display:flex; gap:6px; flex-wrap:wrap}
.tag{
  font-family:Verdana,Geneva,sans-serif; font-size:.72rem; font-weight:bold;
  border-radius:999px; padding:3px 10px; text-decoration:none; color:var(--ink);
  background:#fdf0c0; border:1.5px solid var(--ink);
}
.tag.trad{background:#dff1fd}
.tag.kind{background:#e6f4e0; border-color:var(--ink-soft); color:var(--ink-soft)}

/* Link cards (ways in) */
.cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin:14px 0}
.card{
  display:block; background:var(--card); border:2px solid var(--ink);
  border-radius:14px; padding:14px 16px; text-decoration:none; color:var(--ink);
}
.card:hover{background:#fff3cf}
.card .t{font-weight:bold; font-size:1.05rem; display:block}
.card .d{font-size:.92rem; color:var(--ink-soft); display:block; margin-top:4px}
.card .n{
  display:inline-block; background:var(--bee); border:1.5px solid var(--ink);
  border-radius:999px; width:28px; height:28px; line-height:25px; text-align:center;
  font-weight:bold; margin-bottom:6px; font-family:Verdana,sans-serif; font-size:.85rem;
}

/* Sections on practices / traditions pages */
section.guide-section{
  background:var(--card); border:2px solid var(--line); border-radius:16px;
  padding:18px 20px; margin:22px 0;
}
section.guide-section > h2{margin-top:0}
.gr{
  background:#fff3cf; border:1.5px dashed var(--trail); border-radius:10px;
  padding:10px 14px; margin:12px 0;
}
.gr .lbl{font-family:Verdana,sans-serif; font-size:.72rem; font-weight:bold;
  text-transform:uppercase; letter-spacing:.06em}
.gr p{margin:4px 0}
.gr .src{font-size:.88rem; color:var(--ink-soft); margin:2px 0 0}
details.more{margin-top:8px}
summary{cursor:pointer; font-weight:bold}

/* Footer + honesty note */
.note{
  background:#eaf6ff; border:1.5px solid var(--ocean); border-radius:12px;
  padding:14px 18px; margin:26px 0;
}
footer{
  border-top:2px solid var(--line); margin-top:34px; padding-top:14px;
  font-size:.9rem; color:var(--ink-soft);
}
.empty-note{font-style:italic; color:var(--ink-soft)}
@media (max-width:560px){
  body{font-size:16px}
  h1{font-size:1.6rem}
  .site-head nav{margin-left:0}
  .search-row{flex-direction:column}
  .search-row button{width:100%}
}
