/* freefile front — dark terminal staggered grid */
.ff{--bg:#0b120c;--panel:#101a11;--panel2:#0d150e;--line:#1e2c1f;--fg:#e6f0e6;--mut:#8fa98f;--grn:#22c55e;--grn-d:#16a34a;max-width:1200px;margin:0 auto;padding:0 24px 30px;color:var(--fg);font-family:"JetBrains Mono","Cascadia Code",Consolas,monospace}
.ff a{text-decoration:none;color:inherit}
.ff-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:52px 0 34px}
.ff-prompt{color:var(--grn);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:14px}
.ff-hero h1{font-size:clamp(28px,3.8vw,44px);line-height:1.15;letter-spacing:-.01em;margin:0 0 14px;font-weight:800}
.ff-hero h1 .ok{color:var(--grn)}
.ff-hero .lead{font-size:14.5px;line-height:1.7;color:var(--mut);margin:0 0 22px;max-width:480px}
.ff-ctas{display:flex;gap:12px;flex-wrap:wrap}
.ff-btn{padding:12px 22px;border-radius:10px;font-weight:700;font-size:13.5px;font-family:inherit}
.ff-btn-primary{background:var(--grn);color:#04170a!important;box-shadow:0 0 24px rgba(34,197,94,.35)}
.ff-btn-primary:hover{background:var(--grn-d);transform:translateY(-2px)}
.ff-btn-ghost{border:1.5px solid var(--line);color:var(--fg)!important}
.ff-btn-ghost:hover{border-color:var(--grn);color:var(--grn)!important}
.ff-term{background:#0a0f0a;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ff-termbar{display:flex;gap:6px;align-items:center;padding:10px 14px;background:#0d130d;border-bottom:1px solid var(--line);font-size:11px;color:var(--mut)}
.ff-termbar i{width:10px;height:10px;border-radius:50%;background:#1e2c1f}
.ff-termbar i:first-child{background:#ef4444;opacity:.7}
.ff-termbar i:nth-child(2){background:#eab308;opacity:.7}
.ff-termbar i:nth-child(3){background:#22c55e;opacity:.7}
.ff-termbar em{margin-left:8px;font-style:normal}
.ff-termbody{padding:16px;font-size:12.5px;line-height:1.9}
.ff-tl .p{color:var(--grn);font-weight:700}
.ff-tl .dim{color:#5f7a5f}
.ff-tl .okl{color:var(--grn)}
.ff-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 4px}
.ff-tab{border:1.5px solid var(--line);border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:600;color:var(--mut);background:var(--panel);transition:.18s}
.ff-tab:hover{border-color:var(--grn);color:var(--grn)!important;transform:translateY(-2px)}
.ff-tab b{color:var(--grn);font-size:10.5px;margin-left:6px}
.ff-sechead{display:flex;align-items:baseline;justify-content:space-between;margin:36px 0 18px}
.ff-sechead h2{font-size:20px;margin:0;font-weight:800}
.ff-sechead h2::before{content:"$ ";color:var(--grn)}
.ff-sechead a{font-size:12px;font-weight:700;color:var(--grn)!important}
.ff-grid{columns:2;column-gap:18px}
.ff-script{break-inside:avoid;margin-bottom:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.2s;display:block}
.ff-script:hover{transform:translateY(-4px);border-color:rgba(34,197,94,.5);box-shadow:0 0 30px rgba(34,197,94,.12)}
.ff-chead{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel2);border-bottom:1px solid var(--line);font-size:11.5px;color:var(--grn);font-weight:700}
.ff-chead i{width:8px;height:8px;border-radius:50%;background:var(--grn);opacity:.6}
.ff-chead .lang{margin-left:auto;color:var(--mut);font-weight:400;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:2px 7px}
.ff-cbody{padding:14px 16px 16px}
.ff-cbody h3{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--fg);font-weight:700}
.ff-script:hover h3{color:var(--grn)}
.ff-cbody p{margin:0;font-size:12px;color:var(--mut);line-height:1.65}
.ff-post{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:7px;transition:.2s}
.ff-post:hover{transform:translateY(-4px);border-color:rgba(34,197,94,.5)}
.ff-post h3{margin:0;font-size:13.5px;line-height:1.55;font-weight:700}
.ff-post h3 a:hover{color:var(--grn)!important}
.ff-post time{font-size:10.5px;color:#5f7a5f;margin-top:auto}
.ff-pill{align-self:flex-start;font-size:9.5px;font-weight:700;letter-spacing:.07em;color:var(--grn);border:1px solid rgba(34,197,94,.4);border-radius:5px;padding:2px 8px}
.ff-band{margin:40px 0 10px;background:linear-gradient(120deg,rgba(34,197,94,.16),rgba(34,197,94,.05));border:1px solid rgba(34,197,94,.35);border-radius:16px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ff-band h2{margin:0 0 4px;font-size:19px;color:var(--fg)}
.ff-band p{margin:0;color:var(--mut);font-size:13px}
.ff-band a{background:var(--grn);color:#04170a!important;font-weight:800;padding:12px 22px;border-radius:10px;font-size:13.5px}
@media(max-width:900px){.ff-hero{grid-template-columns:1fr;padding-top:34px}.ff-grid{columns:1}}

/* deco7 patch: Kadence paints its own bg/heading colors on the front page — override for .ff surfaces only */
body.home,
body.page-template-page-blog { background: #0b120c !important; }
body.home .site,
body.page-template-page-blog .site { background: transparent !important; }
body.home .content-area,
body.page-template-page-blog .content-area { background: transparent !important; }
.ff h1, .ff h2, .ff h3, .ff h4 { color: #e6f0e6 !important; }
.ff, .ff p, .ff span, .ff div { text-align: left; }
.ff .ff-btn { display: inline-block; width: auto; }
.ff .ff-btn { display: inline-block !important; width: auto !important; flex: 0 0 auto !important; }

/* deco7 bugfix: footer text invisible (dark body + theme's dark slate footer text) */
body.home .site-footer,
body.page-template-page-blog .site-footer { color: #8fa98f !important; }
body.home .site-footer *,
body.page-template-page-blog .site-footer * { color: #8fa98f !important; }
body.home .site-footer a:hover,
body.page-template-page-blog .site-footer a:hover { color: #22c55e !important; }
