/* =========================================================================
   OllieTree v2 — public sign-in pages (/login/, /callback/) restyle, 2026-10-04.
   CSS only: the page markup and scripts (WP admin Custom HTML) are untouched.
   Loaded only when v2 is active (OT_DASHBOARD_V2 'on', or ?v2=1 / admin preview); body.ot2-public.
   Light/dark follows the member's saved v2 theme (localStorage "ot-theme") or the OS setting.
   ========================================================================= */
body.ot2-public{
  --font-ui:"OT2 Inter","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"OT2 Fraunces","Fraunces",ui-serif,Georgia,"Times New Roman",serif;
  --bg:#f4efe7;--blob1:#bfe0b4;--blob2:#ffd3bd;--blob3:#c5def3;--blob4:#e1d3f5;
  --ink:#16201b;--ink-2:#2f3b35;--muted:#55625b;--faint:#6b7770;
  --accent:#2f7d43;--accent-grad:linear-gradient(135deg,#3f9150 0%,#2f7f72 100%);--sky:#2a6fa8;
  --glass:rgba(255,255,255,.56);--glass-strong:rgba(255,255,255,.80);
  --glass-tint:linear-gradient(145deg,rgba(255,255,255,.70) 0%,rgba(255,255,255,.42) 55%,rgba(255,255,255,.52) 100%);
  --glass-border:rgba(255,255,255,.75);--hairline:rgba(22,32,27,.08);--chip:rgba(255,255,255,.60);
  --shadow:0 1px 1px rgba(30,45,35,.04),0 6px 16px -6px rgba(30,45,35,.10),0 22px 48px -18px rgba(40,55,45,.20);
  --inner:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.18);
  --btn-ink:#fff;
  --ambient:radial-gradient(60vw 60vw at -6vw -18vw,var(--blob1) 0%,transparent 62%),radial-gradient(54vw 54vw at 108vw -8vw,var(--blob2) 0%,transparent 62%),
            radial-gradient(58vw 58vw at 50vw 108vh,var(--blob3) 0%,transparent 62%),radial-gradient(46vw 46vw at -10vw 100vh,var(--blob4) 0%,transparent 62%),var(--bg);
  margin:0!important;background:var(--bg)!important;color-scheme:light;
}
html[data-ot-theme="dark"] body.ot2-public{
  --bg:#0c1311;--blob1:#1d5a3c;--blob2:#6a3242;--blob3:#1d4268;--blob4:#3f2f6b;
  --ink:#eef3f0;--ink-2:#d5ded9;--muted:#a8b6af;--faint:#93a29a;
  --accent:#7fd18f;--accent-grad:linear-gradient(135deg,#5cc27a 0%,#3fb3a2 100%);--sky:#8cc7ff;
  --glass:rgba(22,30,28,.50);--glass-strong:rgba(24,33,30,.84);
  --glass-tint:linear-gradient(145deg,rgba(40,52,48,.62) 0%,rgba(18,25,23,.46) 60%,rgba(26,35,32,.52) 100%);
  --glass-border:rgba(255,255,255,.11);--hairline:rgba(255,255,255,.08);--chip:rgba(255,255,255,.08);
  --shadow:0 1px 1px rgba(0,0,0,.25),0 8px 20px -8px rgba(0,0,0,.45),0 26px 56px -22px rgba(0,0,0,.6);
  --inner:inset 0 1px 0 rgba(255,255,255,.14);
  --btn-ink:#05200f;color-scheme:dark;
}
body.ot2-public .wp-site-blocks > header,body.ot2-public .wp-site-blocks > footer,
body.ot2-public header.wp-block-template-part,body.ot2-public footer.wp-block-template-part,body.ot2-public .wp-block-post-title{display:none!important}
body.ot2-public .wp-site-blocks,body.ot2-public .wp-site-blocks > main,body.ot2-public main.wp-block-group,body.ot2-public main > .wp-block-group,
body.ot2-public .entry-content,body.ot2-public .wp-block-post-content{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}

/* ---------- /login/ (#ollietree-login-page, a fixed full-page take-over) ---------- */
body.ot2-public #ollietree-login-page{background:var(--ambient)!important;font-family:var(--font-ui)!important;color:var(--ink)}
body.ot2-public #ollietree-login-page .ot-topbar{margin:16px 16px 0;height:66px;border-radius:22px;border:1px solid var(--glass-border)!important;
  background:var(--glass-tint),var(--glass)!important;-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);box-shadow:var(--inner),var(--shadow)}
body.ot2-public #ollietree-login-page .ot-topbar-brand{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:22px;color:var(--ink);text-transform:none}
body.ot2-public #ollietree-login-page .ot-topbar-nav a{color:var(--ink-2)}
body.ot2-public #ollietree-login-page .ot-topbar-nav a:hover{color:var(--accent)}
body.ot2-public #ollietree-login-page .ot-left{background:transparent!important}
body.ot2-public #ollietree-login-page .ot-right{margin:16px 16px 16px 0;border-radius:28px;box-shadow:var(--shadow);border:1px solid var(--glass-border)}
body.ot2-public #ollietree-login-page .ot-card{background:var(--glass-tint),var(--glass)!important;-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);
  border:1px solid var(--glass-border);box-shadow:var(--inner),var(--shadow)!important;border-radius:28px}
/* the page's own "#ollietree-login-page *{margin:0;padding:0}" reset outranks its card rules; restore the intended spacing */
body.ot2-public #ollietree-login-page .ot-card{padding:44px 36px 36px}
body.ot2-public #ollietree-login-page .ot-card-logo{margin:0 auto 14px}
body.ot2-public #ollietree-login-page .ot-card-tagline{margin-bottom:28px}
body.ot2-public #ollietree-login-page .ot-btn{padding:15px 24px;margin-bottom:12px}
body.ot2-public #ollietree-login-page .ot-hint{margin-top:18px}
body.ot2-public #ollietree-login-page .ot-footnote{margin-top:22px}
body.ot2-public #ollietree-login-page .ot-card-tagline{font-family:var(--font-display);font-weight:600;font-size:32px;color:var(--ink)}
body.ot2-public #ollietree-login-page .ot-card-tagline span{color:var(--accent)}
body.ot2-public #ollietree-login-page .ot-btn{font-family:var(--font-ui);border-radius:16px}
body.ot2-public #ollietree-login-page .ot-btn-login{background:var(--accent-grad)!important;color:var(--btn-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px -12px rgba(47,125,67,.85)}
body.ot2-public #ollietree-login-page .ot-btn-signup{background:var(--chip)!important;color:var(--ink)!important;border:1px solid var(--hairline)!important;box-shadow:none}
body.ot2-public #ollietree-login-page .ot-hint{color:var(--muted)}
body.ot2-public #ollietree-login-page .ot-hint.is-active{color:var(--accent)}
body.ot2-public #ollietree-login-page .ot-footnote{color:var(--faint)}
body.ot2-public #ollietree-login-page #ot-dev-wrap{display:none!important} /* the "DEV PANEL — remove before launch" debug box: hidden in v2 (still in the page HTML) */
body.ot2-public #ollietree-login-page .ot-bottombar{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:64px;border-radius:24px;border:1px solid var(--glass-border)!important;
  background:var(--glass-tint),var(--glass)!important;-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);box-shadow:var(--inner),var(--shadow)}
body.ot2-public #ollietree-login-page .ot-bottom-nav a{color:var(--ink-2)}
html[data-ot-theme="dark"] body.ot2-public #ollietree-login-page .ot-bottom-nav img,html[data-ot-theme="dark"] body.ot2-public #ollietree-login-page .ot-card-logo,
html[data-ot-theme="dark"] body.ot2-public #ollietree-login-page .ot-topbar-left img{filter:drop-shadow(0 0 1px rgba(255,255,255,.35))}
@media (max-width:768px){
  body.ot2-public #ollietree-login-page{background:var(--ambient)!important}
  body.ot2-public #ollietree-login-page .ot-main{align-items:center;padding:24px 16px 96px}
  body.ot2-public #ollietree-login-page .ot-card{padding:34px 22px 26px}
}

/* ---------- /callback/ (.ot-callback-wrap) ---------- */
body.ot2-public .ot-callback-wrap{background:var(--ambient)!important;font-family:var(--font-ui)!important}
body.ot2-public .ot-callback-card{background:var(--glass-tint),var(--glass)!important;-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);
  border:1px solid var(--glass-border)!important;border-radius:28px!important;box-shadow:var(--inner),var(--shadow)!important;color:var(--ink)!important}
body.ot2-public .ot-callback-title{font-family:var(--font-display);font-size:22px!important;color:var(--ink)}
body.ot2-public .ot-callback-sub{color:var(--muted)!important}
body.ot2-public .ot-callback-spinner{border-color:color-mix(in srgb,var(--accent) 22%,transparent)!important;border-top-color:var(--accent)!important}
@media (prefers-reduced-motion:reduce){body.ot2-public .ot-callback-spinner{animation-duration:2s}}
body.ot2-public .ot-callback-error{color:#b42318!important;background:rgba(220,38,38,.08)!important}
html[data-ot-theme="dark"] body.ot2-public .ot-callback-error{color:#fca5a5!important;background:rgba(220,38,38,.12)!important}
html[data-ot-theme="dark"] body.ot2-public #ollietree-login-page .ot-card-logo{background:rgba(255,255,255,.88);border-radius:22px;padding:8px;width:88px}
html[data-ot-theme="dark"] body.ot2-public #ollietree-login-page .ot-topbar-left img{background:rgba(255,255,255,.88);border-radius:10px;padding:3px}
