/*
Theme Name: TrioCMS
Theme URI: https://triocms.net
Description: TrioCMS marketing + content theme for WordPress. Replicates the original TrioCMS chrome (canonical head meta, brand header, contact footer) the update-safe way (classic theme, no core hacks). ASCII only.
Author: Trent Tompkins
Version: 1.0.0
*/

/* Fallback layout (the original style.css is appended below at deploy for the full look). */
.wrap{max-width:1040px;margin:0 auto;padding:30px 22px 64px}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid #e6e6e6}
.top .brand{font-weight:800;font-size:1.25rem;text-decoration:none;color:#1a1a1a;letter-spacing:-.01em}
.top nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.top nav a{text-decoration:none;color:#1a1a1a;font-size:.9rem}
.top nav a:hover{color:#d97757}
.theme-select{padding:5px 8px;border:1px solid #e6e6e6;border-radius:7px;background:#fff;font-size:.85rem}
.bottom{padding:24px 22px;border-top:1px solid #e6e6e6;font-size:.82rem;color:#6b6b6b;text-align:center;line-height:1.7}
.bottom a{color:#d97757;text-decoration:none}
.tc-title{font-size:2rem;margin:0 0 .5em;letter-spacing:-.02em}
.tc-content{line-height:1.75}
.tc-content h2{margin:1.6em 0 .4em}
.tc-content a{color:#d97757}
.tc-content a.btn{color:var(--ink);text-decoration:none}
.tc-content a.btn-primary{color:#fff}
.tc-content a.btn-primary:hover{color:#fff}
/* TRIOCMS_ORIGINAL_STYLE */
/* Minimal, calm UI. White panel, coral accent (matches the TrioDesktop /
   Anthropic Claude-default aesthetic). */
:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --ink: #1a1a1a;
  --muted: #6b6b6b;
  --line: #e6e6e6;
  --accent: #d97757;
  --accent-soft: #f4c8b7;
  --accent-tint: #fbeee6;
  --danger: #c0392b;
  --max: 1040px;
}

/* ---- Dark theme. <html data-theme="dark|light"> is set by the header switcher
   (its "Auto" choice resolves to light/dark from the OS, in JS). Light is the
   default above; dark just remaps the tokens + a few non-variable surfaces. --- */
[data-theme="dark"] {
  --bg: #14161a;
  --surface: #1d2026;
  --ink: #e7e9ee;
  --muted: #9aa3b2;
  --line: #2b2f37;
  --accent: #e2906f;
  --accent-soft: #6b3f30;
  --accent-tint: #2a211d;
  --danger: #e8705f;
  color-scheme: dark;
}
[data-theme="dark"] .pill-ok   { background: #16321f; color: #6ee7a0; }
[data-theme="dark"] .pill-no   { background: #2a2e36; color: var(--muted); }
[data-theme="dark"] .pill-super{ background: #2a211d; }
[data-theme="dark"] .alert-err { background: #3a1f1d; border-color: #5e2c28; }
[data-theme="dark"] .alert-ok  { background: #13321f; border-color: #1f5e38; color: #6ee7a0; }
[data-theme="dark"] .btn:hover { background: #2a2e36; }
* { box-sizing: border-box; }
/* Self-hosted Noto Color Emoji + OS emoji/symbol fonts so emoji AND text symbols
   (e.g. the ✓ in-menu mark, U+2713) render instead of tofu boxes, regardless of OS. */
@font-face { font-family: 'Noto Color Emoji'; src: url('/fonts/NotoColorEmoji.v2.woff2') format('woff2'); font-display: swap; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink); font: 15px/1.55 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Symbol"; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { color: var(--ink); margin: 0 0 12px; font-weight: 600; }
h1 { font-size: 28px; }
h2 { font-size: 20px; }
h3 { font-size: 16px; }
p { color: var(--ink); }
small, .muted { color: var(--muted); font-size: 13px; }

header.top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px; border-bottom: 1px solid var(--line); background: var(--surface);
  position: sticky; top: 0; z-index: 10;
}
header.top .brand { font-weight: 700; font-size: 18px; color: var(--ink); }
header.top nav { display: flex; gap: 18px; align-items: center; }
header.top nav a { color: var(--ink); }
header.top nav a:hover { color: var(--accent); text-decoration: none; }
header.top .user { color: var(--muted); font-size: 13px; }
header.top .brand-group { display: flex; align-items: center; gap: 14px; min-width: 0; }
.site-switcher { margin: 0; display: flex; align-items: center; }
.site-switcher select {
  font: inherit; font-size: 13px; color: var(--ink);
  max-width: 240px; padding: 5px 28px 5px 10px;
  border: 1px solid var(--line); border-radius: 7px; background-color: #fff;
  cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6b6b' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
}
.site-switcher select { background-color: var(--surface); }
.site-switcher select:hover { border-color: var(--accent-soft); }
.site-switcher select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }

/* Theme switcher (Auto / Light / Dark) — header control. */
.theme-select {
  font: inherit; font-size: 13px; color: var(--ink); width: auto;
  padding: 5px 26px 5px 10px; border: 1px solid var(--line); border-radius: 7px;
  background-color: var(--surface); cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa3b2' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 9px center;
}
.theme-select:hover { border-color: var(--accent-soft); }
.theme-select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }

main.wrap { max-width: var(--max); margin: 0 auto; padding: 32px 24px 64px; }

footer.bottom { max-width: var(--max); margin: 0 auto; padding: 24px; color: var(--muted); font-size: 12px; text-align: center; }

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border: 1px solid var(--line); background: var(--surface); color: var(--ink);
  border-radius: 8px; font-weight: 500; font-size: 14px; cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
  text-decoration: none;
}
.btn:hover { background: var(--accent-tint); border-color: var(--accent-soft); text-decoration: none; }
.btn-primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-primary:hover { background: #c8674a; border-color: #c8674a; color: #fff; }
.btn-danger { color: var(--danger); border-color: #f1c2c2; }
.btn-danger:hover { background: #fdf2f2; }

.card {
  background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
  padding: 20px; margin-bottom: 16px;
}
.card h2, .card h3 { margin-top: 0; }

.hero { padding: 56px 0 32px; text-align: center; }
.hero h1 { font-size: 44px; line-height: 1.1; margin-bottom: 14px; }
.hero p.lead { color: var(--muted); font-size: 18px; max-width: 560px; margin: 0 auto 24px; }

.three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.three-up .card h2, .three-up .card h3 { font-size: 16px; color: var(--accent); }
@media (max-width: 720px) { .three-up { grid-template-columns: 1fr; } }

input[type="text"], input[type="email"], textarea, select {
  width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px;
  font: inherit; color: var(--ink); background: var(--surface); outline: none;
}
input:focus, textarea:focus, select:focus { border-color: var(--accent-soft); box-shadow: 0 0 0 3px rgba(217,119,87,.14); }

label { display: block; font-size: 12.5px; color: var(--muted); margin: 12px 0 4px; text-transform: uppercase; letter-spacing: .04em; font-weight: 500; }

table.list { width: 100%; border-collapse: collapse; font-size: 14px; }
table.list th, table.list td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
table.list th { color: var(--muted); font-weight: 500; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
table.list tr:last-child td { border-bottom: 0; }
table.list .row-actions { white-space: nowrap; text-align: right; }
table.list .row-actions a { margin-left: 10px; }

.pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; }
.pill-ok { background: #e9f6ec; color: #1f7a3a; }
.pill-no { background: #f4f4f4; color: var(--muted); }
.pill-super { background: var(--accent-tint); color: var(--accent); }

.alert { padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.alert-err { background: #fdf2f2; color: var(--danger); border: 1px solid #f1c2c2; }
.alert-ok { background: #f3faf5; color: #1f7a3a; border: 1px solid #cbe9d2; }

.flex { display: flex; gap: 16px; }
.flex-between { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.right { text-align: right; }
.empty { color: var(--muted); padding: 40px 20px; text-align: center; }

/* Subscription picker (dashboard + landing pricing). */
.plans { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 16px; }
@media (max-width: 720px) { .plans { grid-template-columns: 1fr; } }
.plan-card {
  position: relative; background: var(--surface); border: 1px solid var(--line);
  border-radius: 12px; padding: 24px 20px 20px; display: flex; flex-direction: column;
}
.plan-card h3 { font-size: 18px; margin: 0 0 6px; }
.plan-featured { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.plan-badge {
  position: absolute; top: -11px; left: 20px; background: var(--accent); color: #fff;
  font-size: 11px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase;
  padding: 3px 10px; border-radius: 999px;
}
.plan-price { font-size: 30px; font-weight: 700; color: var(--ink); line-height: 1; margin: 2px 0 4px; }
.plan-price span { font-size: 14px; font-weight: 500; color: var(--muted); }
.plan-recurring { font-size: 12.5px; margin-bottom: 12px; }
.plan-card p { font-size: 14px; flex: 1; margin: 0 0 16px; }
.plan-btn { justify-content: center; }

/* --- Google "Sign in with Google" gsi-material pill button (official, light theme).
   Source: developers.google.com/identity/branding-guidelines. Used by [trio_signin]. --- */
.gsi-material-button { -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; -webkit-appearance:none; background-color:#fff; background-image:none; border:1px solid #747775; border-radius:20px; box-sizing:border-box; color:#1f1f1f; cursor:pointer; font-family:'Roboto',arial,sans-serif; font-size:14px; height:40px; letter-spacing:.25px; outline:none; overflow:hidden; padding:0 12px; position:relative; text-align:center; transition:background-color .218s,border-color .218s,box-shadow .218s; vertical-align:middle; white-space:nowrap; width:auto; max-width:400px; min-width:min-content; display:inline-flex; text-decoration:none; }
.gsi-material-button .gsi-material-button-icon { height:20px; margin-right:12px; min-width:20px; width:20px; }
.gsi-material-button .gsi-material-button-content-wrapper { align-items:center; display:flex; flex-direction:row; flex-wrap:nowrap; height:100%; justify-content:space-between; position:relative; width:100%; }
.gsi-material-button .gsi-material-button-contents { flex-grow:1; font-family:'Roboto',arial,sans-serif; font-weight:500; overflow:hidden; text-overflow:ellipsis; vertical-align:top; }
.gsi-material-button .gsi-material-button-state { transition:opacity .218s; bottom:0; left:0; opacity:0; position:absolute; right:0; top:0; }
.gsi-material-button:not(:disabled):active .gsi-material-button-state, .gsi-material-button:not(:disabled):focus .gsi-material-button-state { background-color:#303030; opacity:12%; }
.gsi-material-button:not(:disabled):hover { box-shadow:0 1px 2px 0 rgba(60,64,67,.30),0 1px 3px 1px rgba(60,64,67,.15); }
.gsi-material-button:not(:disabled):hover .gsi-material-button-state { background-color:#303030; opacity:8%; }
/* compact variant for the header nav */
.top nav .gsi-material-button { height:34px; font-size:13px; padding:0 12px; }
.top nav .gsi-material-button .gsi-material-button-icon { height:18px; width:18px; min-width:18px; margin-right:8px; }
/* dark theme: keep Google's white pill (brand requires it) but ensure contrast */
html[data-theme="dark"] .gsi-material-button { background-color:#fff; color:#1f1f1f; }
.trio-signin-dash { display:inline-block; padding:8px 16px; border-radius:20px; background:#d97757; color:#fff !important; text-decoration:none; font-weight:600; font-size:14px; }
