/*
Theme Name: Flat Five Child
Template: generatepress
Version: 1.0.1
Author: Simple Simon Consulting
Description: Flat Five Realty navy/gold design system on GeneratePress. Canonical nav/footer/chatbot injected via functions.php; components byte-match the static pillar pages.
*/

/* ===== Design tokens (mirror of the pillar pages) ===== */
:root{
  --navy:#0f1e35;--navy-soft:#1c2c46;--navy-darker:#0b1a30;
  --gold:#c9973a;--gold-light:#e8b85a;--gold-dark:#a87c2a;
  --gold-border:rgba(201,151,58,0.32);--gold-tint:rgba(201,151,58,0.08);
  --cream:#faf7f2;--line:#e7e0d4;--ink:#1c2230;--ink-mid:#3c4453;--muted:#5b6470;
  --on-navy:#cdd6e2;--on-navy-soft:#aab6c8;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Source Serif 4',Georgia,serif;
  --font-mono:'DM Mono',ui-monospace,monospace;
  --maxw:1200px;
}

/* ===== Base typography ===== */
body{background:var(--cream);color:var(--ink-mid);font-family:var(--font-body);font-weight:300;font-size:1.02rem;line-height:1.82}
h1,h2,h3,h4,.entry-title{font-family:var(--font-display);font-weight:700;line-height:1.18}
h1,.entry-title{font-size:2.4rem}
h2{font-size:1.8rem}
h3{font-size:1.3rem}
b,strong{font-weight:500}
.entry-content a:not(.button):not(.wp-block-button__link){color:var(--gold-dark);text-decoration-color:var(--gold-border)}
.entry-content a:not(.button):not(.wp-block-button__link):hover{color:var(--ink)}
.grid-container,.site-content{max-width:var(--maxw)}

/* ===== Buttons -> pillar gold pattern ===== */
.button,button:not(.ffnav-burger):not(.ffnav-drop-btn),input[type=submit],input[type=button],.wp-block-button__link{
  background:var(--gold);color:var(--navy);font-family:var(--font-mono);font-size:0.68rem;
  letter-spacing:0.08em;text-transform:uppercase;font-weight:500;border:none;border-radius:3px;
  padding:0.85rem 1.15rem;transition:background 0.2s}
.button:hover,button:not(.ffnav-burger):not(.ffnav-drop-btn):hover,input[type=submit]:hover,.wp-block-button__link:hover{background:var(--gold-light);color:var(--navy)}

/* ===== Forms ===== */
input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select{
  background:#fff;border:1px solid var(--line);border-radius:3px;color:var(--ink);font-family:var(--font-body)}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}

/* ===== Utility: mono eyebrow (matches pillar section labels) ===== */
.ff-eyebrow{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-dark);display:block;margin-bottom:0.9rem}

/* ===== Kill GP's own navigation (belt + suspenders for the hook removal) ===== */
.main-navigation,#site-navigation,.mobile-header-navigation,#mobile-menu-control-wrapper{display:none !important}

/* ===== Admin-bar offset for the sticky nav ===== */
body.admin-bar .ffnav{top:32px}
@media(max-width:782px){body.admin-bar .ffnav{top:46px}}

/* ===== Canonical nav + footer (byte-match of the static pages) ===== */

/* ===== FF unified nav (canonical — injected by SSC build) ===== */
.ffnav{position:sticky;top:0;z-index:950;background:var(--navy,#0f1e35);border-bottom:1px solid var(--gold-border,rgba(201,151,58,0.32))}
.ffnav-in{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.ffnav-brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.15;padding:.55rem 0}
.ffnav-brand-t{font-family:var(--font-display,var(--font-disp,'Playfair Display',Georgia,serif));font-size:1.12rem;font-weight:700;color:#fff;letter-spacing:.01em}
.ffnav-brand-s{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light,#e8b85a);margin-top:2px}
.ffnav-menu{display:flex;align-items:center;gap:1.15rem}
.ffnav-link{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#cdd6e2;text-decoration:none;background:none;border:none;cursor:pointer;padding:.4rem 0;white-space:nowrap}
.ffnav-link:hover{color:var(--gold-light,#e8b85a)}
.ffnav-cta{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;background:var(--gold,#c9973a);color:var(--navy,#0f1e35);text-decoration:none;padding:.6rem .95rem;border-radius:3px;font-weight:500;white-space:nowrap}
.ffnav-cta:hover{background:var(--gold-light,#e8b85a)}
.ffnav-drop{position:relative}
.ffnav-caret{font-size:.6rem;color:var(--gold,#c9973a);margin-left:2px}
.ffnav-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--navy-soft,#1c2c46);border:1px solid var(--gold-border,rgba(201,151,58,0.32));border-radius:6px;min-width:215px;padding:.45rem 0;display:none;box-shadow:0 18px 40px rgba(11,26,48,.45)}
.ffnav-drop.open .ffnav-panel{display:block}
@media(hover:hover){.ffnav-drop:hover .ffnav-panel{display:block}}
.ffnav-panel a{display:block;font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:#cdd6e2;text-decoration:none;padding:.55rem 1rem}
.ffnav-panel a:hover{color:var(--gold-light,#e8b85a);background:rgba(201,151,58,.08)}
.ffnav-burger{display:none;background:none;border:1px solid var(--gold-border,rgba(201,151,58,0.32));border-radius:4px;width:42px;height:38px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.ffnav-burger span{display:block;width:18px;height:2px;background:var(--gold-light,#e8b85a)}
@media(max-width:1040px){
  .ffnav-burger{display:flex}
  .ffnav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy,#0f1e35);border-bottom:1px solid var(--gold-border,rgba(201,151,58,0.32));flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 .9rem;max-height:calc(100vh - 64px);overflow-y:auto}
  .ffnav.ffnav-open .ffnav-menu{display:flex}
  .ffnav-link{padding:.75rem 1.25rem;font-size:.72rem}
  .ffnav-drop{position:static}
  .ffnav-panel{position:static;transform:none;display:none;border:none;border-left:2px solid var(--gold-border,rgba(201,151,58,0.32));border-radius:0;box-shadow:none;margin:0 1.25rem;background:rgba(255,255,255,.03)}
  .ffnav-panel a{font-size:.68rem;padding:.6rem 1rem}
  .ffnav-cta{margin:.6rem 1.25rem 0;text-align:center;padding:.8rem}
}
/* ===== FF unified footer (canonical — injected by SSC build) ===== */
.fffoot{background:var(--navy-darker,#0b1a30);color:#cdd6e2;font-family:var(--font-body,'Source Serif 4',Georgia,serif)}
.fffoot-in{max-width:1200px;margin:0 auto;padding:3.25rem 1.25rem 2.25rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.25rem}
.fffoot-name{font-family:var(--font-display,var(--font-disp,'Playfair Display',Georgia,serif));font-size:1.3rem;font-weight:700;color:#fff}
.fffoot-tag{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light,#e8b85a);margin-top:4px}
.fffoot-addr{font-size:.9rem;line-height:1.7;margin:1rem 0 .6rem;color:#aab6c8}
.fffoot-addr a,.fffoot-soc a{color:#cdd6e2;text-decoration:none}
.fffoot-addr a:hover,.fffoot-soc a:hover,.fffoot-col a:hover,.fffoot-legal-links a:hover{color:var(--gold-light,#e8b85a)}
.fffoot-soc{font-size:.85rem;color:#aab6c8}
.fffoot-h{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#c9973a);margin-bottom:.85rem}
.fffoot-col a{display:block;color:#cdd6e2;text-decoration:none;font-size:.9rem;line-height:1.55;padding:.22rem 0}
.fffoot-legal{border-top:1px solid rgba(205,214,226,.14);padding:1.1rem 1.25rem 1.4rem;text-align:center}
.fffoot-legal-links{font-size:.82rem;margin-bottom:.45rem}
.fffoot-legal-links a{color:#aab6c8;text-decoration:none}
.fffoot-legal-line{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:.56rem;letter-spacing:.06em;color:#7e8ba0;line-height:1.8}
@media(max-width:900px){.fffoot-in{grid-template-columns:1fr 1fr;gap:1.75rem}}
@media(max-width:560px){.fffoot-in{grid-template-columns:1fr}}


/* ===== SSC chatbot ===== */

#ssc-bubble{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;align-items:center;gap:0.55rem;background:var(--navy,#0f1e35);color:#fff;border:1px solid var(--gold-border,rgba(201,151,58,0.32));border-radius:50px;padding:0.7rem 1.15rem;font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:0.72rem;letter-spacing:0.04em;cursor:pointer;box-shadow:0 12px 32px rgba(15,30,53,0.35);transition:transform 0.2s,background 0.2s}
    #ssc-bubble:hover{background:var(--navy-soft,#1c2c46);transform:translateY(-2px)}
    #ssc-bubble svg{width:18px;height:18px;stroke:var(--gold,#c9973a);fill:none;stroke-width:2;flex-shrink:0}
    #ssc-bubble.ssc-hidden{display:none}
    #ssc-panel{position:fixed;bottom:20px;right:20px;z-index:9999;width:380px;max-width:calc(100vw - 40px);height:540px;max-height:calc(100vh - 40px);background:var(--cream,#faf7f2);border:1px solid var(--line,#e7e0d4);border-radius:12px;box-shadow:0 28px 64px rgba(15,30,53,0.34);display:none;flex-direction:column;overflow:hidden}
    #ssc-panel.ssc-open{display:flex}
    .ssc-head{background:var(--navy,#0f1e35);color:#fff;padding:0.95rem 1.1rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
    .ssc-head-t{font-family:var(--font-display,'Playfair Display',Georgia,serif);font-size:1.05rem;font-weight:700;line-height:1.1}
    .ssc-head-s{font-family:var(--font-mono,'DM Mono',ui-monospace,monospace);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-light,#e8b85a);margin-top:3px}
    .ssc-close{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;width:34px;height:34px;border-radius:6px;flex-shrink:0}
    .ssc-close:hover{background:rgba(255,255,255,0.12)}
    .ssc-log{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:0.7rem}
    .ssc-msg{max-width:86%;padding:0.65rem 0.85rem;border-radius:11px;font-family:var(--font-body,'Source Serif 4',Georgia,serif);font-size:0.92rem;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
    .ssc-bot{background:#fff;border:1px solid var(--line,#e7e0d4);color:var(--ink,#1c2230);align-self:flex-start;border-bottom-left-radius:3px}
    .ssc-user{background:var(--navy,#0f1e35);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
    .ssc-typing{color:var(--muted,#5b6470);font-style:italic}
    .ssc-input{display:flex;gap:0.5rem;padding:0.7rem;border-top:1px solid var(--line,#e7e0d4);background:#fff;flex-shrink:0}
    .ssc-input input{flex:1;border:1px solid var(--line,#e7e0d4);border-radius:8px;padding:0.6rem 0.75rem;font-size:16px;font-family:var(--font-body,'Source Serif 4',Georgia,serif);color:var(--ink,#1c2230);outline:none;min-height:44px}
    .ssc-input input:focus{border-color:var(--gold,#c9973a)}
    .ssc-input button{background:var(--gold,#c9973a);color:var(--navy,#0f1e35);border:none;border-radius:8px;width:46px;min-height:44px;font-size:1.2rem;font-weight:700;cursor:pointer}
    .ssc-input button:hover{background:var(--gold-light,#e8b85a)}
    @media(max-width:600px){#ssc-panel{bottom:0;right:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:none}#ssc-bubble{bottom:16px;right:16px}}

