/*
Theme Name: Rebbe.IO
Theme URI: https://rebbe.io
Description: Custom theme for Rebbe.IO — the AI Rabbi. Warm, scholarly, fast. Hand-built (no page builder); pairs with the rebbe-rag chat widget. Replaced Astra/Elementor 2026-06-11.
Author: Command Center
Version: 1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: Proprietary
Text Domain: rebbe
*/

:root{
  --bg:#faf7f0; --paper:#ffffff; --ink:#211d17; --muted:#6b6358;
  --accent:#8a6d3b; --accent-dark:#6f5630; --line:#e7e0d2; --soft:#f1ead9;
  --serif:'Frank Ruhl Libre',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --wrap:1120px; --read:760px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
a{color:var(--accent-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px;}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;color:var(--ink);font-weight:700;}
h1{font-size:2.35rem;margin:.2em 0 .5em;}
h2{font-size:1.65rem;margin:1.8em 0 .5em;}
h3{font-size:1.22rem;margin:1.4em 0 .4em;}
p{margin:0 0 1.1em;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:100;border-radius:6px;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.92);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{font-family:var(--serif);font-weight:900;font-size:1.5rem;color:var(--ink);letter-spacing:.2px;}
.brand:hover{text-decoration:none;}
.brand span{color:var(--accent);}
.site-nav .rebbe-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center;}
.rebbe-menu a{font-family:var(--sans);font-weight:600;font-size:.97rem;color:var(--ink);padding:6px 0;
  border-bottom:2px solid transparent;}
.rebbe-menu a:hover,.rebbe-menu .current-menu-item>a{color:var(--accent-dark);border-bottom-color:var(--accent);text-decoration:none;}
.rebbe-menu .menu-item-has-children>a:after{content:" ▾";color:var(--muted);font-size:.8em;}
.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;padding:9px;}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.2s;}

/* Layout */
.site-main{min-height:50vh;}
.content-wrap{max-width:var(--read);margin:36px auto 64px;}
.front{padding:0 0 40px;}
.page-title{margin-top:.3em;}
.entry{font-size:1.06rem;}
.entry ul,.entry ol{margin:0 0 1.2em 1.3em;padding:0;}
.entry li{margin:.35em 0;}
.entry a{text-decoration:underline;text-underline-offset:2px;}

/* Breadcrumb */
.rebbe-breadcrumb{font-size:.86rem;color:var(--muted);margin:0 0 14px;}
.rebbe-breadcrumb a{color:var(--accent-dark);}
.rebbe-breadcrumb .sep{opacity:.5;margin:0 6px;}

/* Date tables + sources from the engine/mu-plugin */
.rebbe-dates{width:100%;border-collapse:collapse;margin:.5em 0 1.6em;font-size:.98rem;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.rebbe-dates th{background:var(--soft);text-align:left;font-family:var(--sans);font-weight:700;
  padding:11px 14px;color:var(--ink);}
.rebbe-dates td{padding:11px 14px;border-top:1px solid var(--line);}
.rebbe-sources{background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:14px 14px 14px 34px;margin:.4em 0 1.4em;}
.rebbe-hub-list{list-style:none;margin:0 0 1.4em;padding:0;}
.rebbe-hub-list li{border-bottom:1px solid var(--line);padding:12px 0;}
.rebbe-hub-list li:last-child{border-bottom:0;}

/* Footer */
.site-footer{background:#241f18;color:#cfc6b6;margin-top:40px;padding:42px 0;}
.site-footer a{color:#e7d9bd;}
.foot-brand{font-family:var(--serif);font-size:1.3rem;color:#fff;margin-bottom:14px;}
.foot-brand span{color:var(--accent);}
.foot-menu{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0 0 16px;padding:0;font-size:.95rem;}
.foot-sites{font-size:.9rem;color:#cfc6b6;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
.foot-sites .fs-label{color:#9b9384;}
.foot-sites a{color:#e7d9bd;font-weight:600;}
.foot-sites .fs-here{color:#fff;font-weight:700;}
.foot-sites .fs-sep{color:#7e7768;}
.foot-disc{font-size:.85rem;color:#9b9384;max-width:640px;margin:0 0 8px;}
.foot-copy{font-size:.82rem;color:#7e7768;margin:0;}

/* Responsive */
@media(max-width:820px){
  h1{font-size:1.95rem;}
  .nav-toggle{display:block;}
  .site-nav{position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .site-nav.open{max-height:70vh;}
  .site-nav .rebbe-menu{flex-direction:column;gap:0;padding:8px 22px 16px;align-items:stretch;}
  .rebbe-menu li{border-bottom:1px solid var(--line);}
  .rebbe-menu a{display:block;padding:13px 0;}
}

/* ===== Homepage ===== */
.home-hero{background:linear-gradient(180deg,#fbf8f1 0%,#f4ecdd 100%);border-bottom:1px solid var(--line);
  padding:56px 0 44px;text-align:center;}
.home-hero h1{font-size:2.9rem;margin:0 0 .25em;letter-spacing:-.5px;}
.home-hero .sub{font-size:1.2rem;color:var(--muted);max-width:680px;margin:0 auto 8px;}
.home-hero .kicker{display:inline-block;font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);background:#fff;border:1px solid var(--line);
  padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.home-chat{max-width:720px;margin:30px auto 4px;}
.home-chat .rebbe-rag-inline{min-height:560px;}

.trust{padding:26px 0;border-bottom:1px solid var(--line);background:var(--paper);}
.trust .lbl{text-align:center;font-family:var(--sans);font-weight:700;font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 0 14px;}
.trust .outlets{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;align-items:center;}
.trust .outlets span{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:#5b5346;opacity:.82;}

.home-section{padding:52px 0;}
.home-section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.home-section h2{text-align:center;font-size:2rem;margin:0 0 8px;}
.home-section .lede{text-align:center;color:var(--muted);max-width:680px;margin:0 auto 34px;font-size:1.08rem;}

.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;
  transition:transform .15s,box-shadow .15s,border-color .15s;}
a.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(60,45,20,.10);border-color:#d8cbac;text-decoration:none;}
.card .ic{font-size:1.7rem;display:block;margin-bottom:10px;}
.card h3{margin:.1em 0 .3em;font-size:1.22rem;}
.card p{color:var(--muted);margin:0;font-size:.98rem;}
.card.soon{opacity:.62;}
.card.soon .tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:3px 9px;margin-top:10px;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.step{text-align:center;}
.step .n{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--serif);
  font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.step h3{font-size:1.12rem;margin:.2em 0 .3em;}
.step p{color:var(--muted);font-size:.97rem;margin:0;}

.home-cta{text-align:center;background:#241f18;color:#efe7d6;padding:54px 0;}
.home-cta h2{color:#fff;font-size:2rem;margin:0 0 .3em;}
.home-cta p{color:#c9bfac;max-width:560px;margin:0 auto 24px;}
.btn{display:inline-block;background:var(--accent);color:#fff;font-family:var(--sans);font-weight:700;
  padding:14px 30px;border-radius:11px;font-size:1.05rem;}
.btn:hover{background:var(--accent-dark);text-decoration:none;color:#fff;}
.home-disclaimer{max-width:760px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:.9rem;}

@media(max-width:820px){
  .home-hero h1{font-size:2.1rem;}
  .home-grid,.steps{grid-template-columns:1fr;}
}
