/*
Theme Name: Full Docket
Theme URI: https://fulldocket.io
Description: Full Docket child theme for Kadence. Implements the Full Docket design system (08 Templates/Design-Systems/fulldocket/DESIGN.md). Invoice-grade, not brochure-grade.
Author: Obundance LLC
Author URI: https://fulldocket.io
Template: kadence
Version: 1.4.1
Text Domain: fulldocket
*/

/* ============================================================
   FULL DOCKET DESIGN SYSTEM — tokens
   Source of truth: 08 Templates/Design-Systems/fulldocket/DESIGN.md
   No colors, fonts, radii or shadows outside this block.
   ============================================================ */
:root{
  --fd-ink:#0C1A28;
  --fd-paper:#ffffff;
  --fd-bone:#F6F8F4;
  --fd-emerald:#10B981;
  --fd-emerald-deep:#0B8F66;
  --fd-gold:#F4B740;
  --fd-rust:#E4572E;
  --fd-text:#1B2A38;
  --fd-muted:#5C6B7A;
  --fd-muted-inv:#A9BCCB;
  --fd-muted-inv-dim:#93A8B8;
  --fd-line:#E3E8E2;
  --fd-line-inv:rgba(255,255,255,.14);
  --fd-fill-inv:rgba(255,255,255,.06);
  --fd-wash:#EEF2ED;
  --fd-error:#C0341B;
  --fd-warning:#8A6100;
  --fd-r-in:10px;
  --fd-r-tile:12px;
  --fd-r-card:16px;
  --fd-sh1:0 2px 8px rgba(12,26,40,.28);
  --fd-sh2:0 6px 18px -8px rgba(12,26,40,.35);
  --fd-sh3:0 18px 50px -22px rgba(12,26,40,.35);
  --fd-sh4:0 22px 60px -22px rgba(12,26,40,.35);
  --fd-ring:0 0 0 3px rgba(16,185,129,.45);
}

/* ---------- self-hosted webfonts (Latin subset) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:local('Inter Regular'),url('/wp-content/uploads/fd-fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:local('Inter Medium'),url('/wp-content/uploads/fd-fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:local('Inter SemiBold'),url('/wp-content/uploads/fd-fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:local('Inter Bold'),url('/wp-content/uploads/fd-fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:local('Sora SemiBold'),url('/wp-content/uploads/fd-fonts/sora-600.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:local('Sora Bold'),url('/wp-content/uploads/fd-fonts/sora-700.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:local('Sora ExtraBold'),url('/wp-content/uploads/fd-fonts/sora-800.woff2') format('woff2')}

/* ---------- typography ---------- */
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--fd-text);background:var(--fd-bone)}
h1,h2,h3,h4,h5,h6{font-family:'Sora',system-ui,sans-serif;letter-spacing:-.02em}
.fd-num,.fd-money{font-variant-numeric:tabular-nums}

/* Kadence Global font-family variables so its blocks match the FD tokens */
:root{--global-body-font-family:'Inter',system-ui,-apple-system,sans-serif;--global-heading-font-family:'Sora',system-ui,sans-serif}

/* ---------- global brand rules (Site-Build-Checklist §12) ---------- */
.site-branding a.brand img{max-width:200px !important}
.site-branding a.brand img.svg-logo-image{width:200px !important}
.entry-content,.page-content{padding-left:20px !important;padding-right:20px !important;box-sizing:border-box}
@media (min-width:768px){.entry-content,.page-content{padding-left:40px !important;padding-right:40px !important}}
p:has(a[href*="kadencewp.com"]){display:none !important}
input,textarea,select{font-size:16px !important}
.wp-block-button__link,.kb-button{min-height:44px}
body{overflow-x:hidden}

/* ---------- focus ring (DESIGN.md §4) ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:0 !important;box-shadow:var(--fd-ring) !important;border-radius:6px
}

/* ---------- logo lockup: TLD tight, smaller, accent ---------- */
.fd-brand{font-family:Sora,system-ui,sans-serif;font-weight:800;font-size:19px;color:var(--fd-ink);text-decoration:none;letter-spacing:-.03em;display:inline-block}
.fd-brand .tld{font-size:13px;color:var(--fd-emerald)}
.site-header .fd-brand:hover{color:var(--fd-ink)}

/* ---------- buttons ---------- */
.fd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:15px 26px;border-radius:999px;font:700 15px Inter,system-ui,sans-serif;border:0;cursor:pointer;text-decoration:none;transition:background .14s,box-shadow .2s,transform .14s}
.fd-btn-p{background:var(--fd-emerald);color:#04231A;box-shadow:var(--fd-sh2)}
.fd-btn-p:hover{background:var(--fd-emerald-deep);color:#04231A;box-shadow:0 8px 22px -8px rgba(12,26,40,.35)}
.fd-btn-p:active{transform:translateY(1px);box-shadow:none}
.fd-btn-s{background:var(--fd-ink);color:#fff;box-shadow:var(--fd-sh2)}
.fd-btn-s:hover{background:#17293c;color:#fff}
.fd-btn-g{background:transparent;border:1px solid var(--fd-ink);color:var(--fd-ink)}
.fd-btn-g:hover{background:var(--fd-ink);color:#fff}
@media (max-width:600px){.fd-btn{width:100%}}

/* ---------- surfaces ---------- */
.fd-panel{background:var(--fd-paper);border:1px solid var(--fd-line);border-radius:var(--fd-r-card);padding:26px;box-shadow:var(--fd-sh3)}
.fd-result{background:#0A1622;color:#fff;border:1px solid var(--fd-line-inv);border-radius:var(--fd-r-card);padding:30px;box-shadow:var(--fd-sh3)}
.fd-sources{background:var(--fd-wash);border-radius:var(--fd-r-tile);padding:18px 22px;font-size:12.5px;color:var(--fd-muted);line-height:1.7}
.fd-sources b{color:var(--fd-ink)}

/* ---------- GHL voice widget: override default blue to brand ---------- */
chat-widget{--primary-color:#0C1A28 !important;--accent-color:#10B981 !important}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}


/* ============================================================
   PAGE COMPONENTS — from the approved mockup
   08 Templates/Design-Systems/fulldocket/preview.html
   All scoped under .fd-page so nothing collides with Kadence.
   ============================================================ */
:root{--fd-maxw:1140px}
.fd-page{background:var(--fd-bone)}
.fd-page section{padding:68px 0}
.fd-page .hero{background:var(--fd-ink);color:#fff;padding:76px 0 64px}
.fd-page .herogrid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.fd-page .hero h1{font-size:clamp(32px,5vw,54px);font-weight:800;line-height:1.06;letter-spacing:-.03em;max-width:18ch;margin-bottom:20px}
.fd-page .hero h1 em{font-style:normal;color:var(--fd-emerald)}
.fd-page .hero .lede{color:var(--fd-muted-inv);font-size:18px;max-width:56ch;margin:0 0 30px}
.fd-page .pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.fd-page .pill{background:var(--fd-fill-inv);border:1px solid var(--fd-line-inv);color:#DCE7EF;font:600 13px Inter;padding:8px 14px;border-radius:999px}
.fd-page .cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fd-page .cta-note{color:var(--fd-muted-inv-dim);font-size:13px}
.fd-page .democard{background:#0A1622;border:1px solid var(--fd-line-inv);border-radius:var(--fd-r-card);padding:28px;box-shadow:var(--fd-sh3);text-align:center}
.fd-page .democard .dot{width:10px;height:10px;border-radius:50%;background:var(--fd-emerald);display:inline-block;margin-right:8px;vertical-align:middle}
.fd-page .democard .live{font:700 11.5px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--fd-emerald);margin:0 0 16px}
.fd-page .democard .tel{font-family:Sora,system-ui,sans-serif;font-weight:800;font-size:clamp(26px,3.2vw,34px);color:#fff;letter-spacing:-.02em;text-decoration:none;display:block;margin-bottom:10px;font-variant-numeric:tabular-nums}
.fd-page .democard .tel:hover{color:var(--fd-emerald)}
.fd-page .democard p{color:var(--fd-muted-inv);font-size:14px;line-height:1.6;margin:0 0 18px}
.fd-page .democard .foot{font-size:12.5px;color:var(--fd-muted-inv-dim);margin:14px 0 0}
.fd-page .proof{background:var(--fd-ink);border-top:1px solid var(--fd-line-inv);padding:0 0 68px}
.fd-page .calcgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:34px;align-items:start}
.fd-page .panel{background:var(--fd-paper);border:1px solid var(--fd-line);border-radius:var(--fd-r-card);padding:26px;box-shadow:var(--fd-sh3)}
.fd-page .result{background:#0A1622;border:1px solid var(--fd-line-inv);border-radius:var(--fd-r-card);padding:30px;box-shadow:var(--fd-sh3)}
.fd-page .eyebrow{font:700 12px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--fd-emerald);margin:0 0 12px}
.fd-page .eyebrow.dark{color:var(--fd-emerald-deep)}
.fd-page .chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.fd-page .chip{border:1px solid var(--fd-line);background:#fff;border-radius:999px;padding:8px 13px;font:600 13px Inter;color:var(--fd-muted);cursor:pointer;transition:.14s}
.fd-page .chip:hover{border-color:var(--fd-emerald);color:var(--fd-ink)}
.fd-page .chip[aria-pressed=true]{background:var(--fd-ink);border-color:var(--fd-ink);color:#fff}
.fd-page .field{margin-bottom:22px}
.fd-page .field:last-child{margin-bottom:0}
.fd-page .field label{display:flex;justify-content:space-between;align-items:baseline;font:700 13px Inter;color:var(--fd-ink);margin-bottom:9px}
.fd-page .field label b{font-family:Sora,system-ui,sans-serif;font-size:16px;font-weight:700;color:var(--fd-emerald-deep);font-variant-numeric:tabular-nums}
.fd-page .hint{font-size:12px;color:var(--fd-muted);margin-top:6px;line-height:1.45}
.fd-page input[type=range]{width:100%;max-width:100%;-webkit-appearance:none;height:5px;border-radius:99px;background:var(--fd-line);outline:0}
.fd-page input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--fd-emerald);border:3px solid #fff;box-shadow:var(--fd-sh1);cursor:pointer;transition:transform .14s}
.fd-page input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.08)}
.fd-page input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--fd-emerald);border:3px solid #fff;cursor:pointer}
.fd-page .money{font-family:Sora,system-ui,sans-serif;font-weight:800;font-size:clamp(42px,7vw,68px);line-height:1;letter-spacing:-.03em;color:var(--fd-gold);font-variant-numeric:tabular-nums;margin:0 0 8px}
.fd-page .money-sub{color:var(--fd-muted-inv);font-size:14px}
.fd-page .tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.fd-page .tile{background:var(--fd-fill-inv);border:1px solid rgba(255,255,255,.1);border-radius:var(--fd-r-tile);padding:15px}
.fd-page .tile .num{display:block;font-size:26px;font-weight:700;color:#fff;line-height:1.1}
.fd-page .tile .lbl{display:block;font:500 11.5px Inter;color:var(--fd-muted-inv-dim);margin-top:5px;line-height:1.35}
.fd-page .rows{border-top:1px solid var(--fd-line-inv);padding-top:22px}
.fd-page .rows h4{font:700 14px Sora,system-ui,sans-serif;color:#fff;margin:0 0 14px}
.fd-page .row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:14px;color:#C6D5E0;border-bottom:1px dashed var(--fd-line-inv)}
.fd-page .row:last-of-type{border:0}
.fd-page .row b{font-family:Sora,system-ui,sans-serif;font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.fd-page .row.win b{color:var(--fd-emerald)}
.fd-page .payoff{margin-top:18px;background:var(--fd-emerald);color:#04231A;border-radius:var(--fd-r-tile);padding:16px 18px;font:700 15px Inter;display:flex;justify-content:space-between;align-items:center}
.fd-page .payoff span:last-child{font-family:Sora,system-ui,sans-serif;font-size:24px;font-variant-numeric:tabular-nums}
.fd-page h2{font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.12;color:var(--fd-ink);margin-bottom:12px}
.fd-page .lede{font-size:17px;color:var(--fd-muted);max-width:640px;line-height:1.6;margin:0 0 30px}
.fd-page .leaks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fd-page .leak{background:var(--fd-paper);border:1px solid var(--fd-line);border-radius:var(--fd-r-card);padding:26px;box-shadow:var(--fd-sh3);transition:box-shadow .2s}
.fd-page .leak:hover{box-shadow:var(--fd-sh4)}
.fd-page .leak h3{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--fd-ink)}
.fd-page .leak p{font-size:15px;color:var(--fd-muted);margin:0 0 14px;line-height:1.6}
.fd-page .leak .stat{font-family:Sora,system-ui,sans-serif;font-size:30px;font-weight:800;color:var(--fd-ink);font-variant-numeric:tabular-nums;line-height:1}
.fd-page .leak .statlbl{font-size:12.5px;color:var(--fd-muted);display:block;margin-top:6px}
.fd-page .compare{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:860px}
.fd-page .side{border-radius:var(--fd-r-card);overflow:hidden;box-shadow:var(--fd-sh3)}
.fd-page .side h3{font:700 14px Inter;padding:14px 20px;margin:0;color:#fff}
.fd-page .side.old h3{background:var(--fd-rust)}
.fd-page .side.new h3{background:var(--fd-emerald-deep)}
.fd-page .side .body{background:var(--fd-paper);padding:20px;min-height:230px}
.fd-page .line{font-size:14.5px;color:var(--fd-text);padding:7px 0;border-bottom:1px solid var(--fd-line)}
.fd-page .line:last-child{border:0}
.fd-page .line .t{color:var(--fd-muted);font-size:12px;font-weight:600;display:block}
.fd-page .outcome{margin-top:14px;border-radius:var(--fd-r-tile);padding:13px;text-align:center;font:700 14px Sora,system-ui,sans-serif}
.fd-page .outcome.bad{background:#FBE7E1;color:#8C2B10}
.fd-page .outcome.good{background:#D6F5E8;color:#075E42}
.fd-page .offer{background:var(--fd-ink);color:#fff}
.fd-page .offer h2{color:#fff}
.fd-page .offer .lede{color:var(--fd-muted-inv)}
.fd-page .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fd-page .tier{background:var(--fd-fill-inv);border:1px solid var(--fd-line-inv);border-radius:var(--fd-r-card);padding:24px}
.fd-page .tier.feature{background:var(--fd-paper);border-color:var(--fd-paper)}
.fd-page .tier h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px}
.fd-page .tier.feature h3{color:var(--fd-ink)}
.fd-page .tier .price{font-family:Sora,system-ui,sans-serif;font-size:28px;font-weight:800;color:var(--fd-emerald);font-variant-numeric:tabular-nums;margin:10px 0 4px}
.fd-page .tier.feature .price{color:var(--fd-emerald-deep)}
.fd-page .tier p{font-size:14px;color:var(--fd-muted-inv);line-height:1.55;margin:0}
.fd-page .tier.feature p{color:var(--fd-muted)}
.fd-page .tier .tag{display:inline-block;font:700 11px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--fd-emerald-deep);margin-bottom:8px}
.fd-page .formgrid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.fd-page label.f{display:block;font:700 13px Inter;color:var(--fd-ink);margin-bottom:7px}
.fd-page input[type=text], .fd-page input[type=email], .fd-page input[type=tel], .fd-page select{width:100%;background:#fff;border:1px solid var(--fd-line);border-radius:var(--fd-r-in);padding:13px 14px;font:500 16px Inter;color:var(--fd-text)}
.fd-page input:focus-visible, .fd-page select:focus-visible{border-color:var(--fd-emerald);box-shadow:var(--fd-ring);outline:0}
.fd-page .consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:13px;color:var(--fd-muted);line-height:1.5}
.fd-page .consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--fd-emerald-deep)}
.fd-page .trust{font-size:12.5px;color:var(--fd-muted);margin-top:10px}
.fd-page .sources{background:var(--fd-wash);border-radius:var(--fd-r-tile);padding:18px 22px;font-size:12.5px;color:var(--fd-muted);line-height:1.7;margin-top:26px}
.fd-page .sources b{color:var(--fd-ink)}
.fd-page footer{background:var(--fd-ink);color:var(--fd-muted-inv);padding:44px 0;font-size:13.5px;border-top:1px solid var(--fd-line-inv)}
.fd-page footer a{color:#DCE7EF}
.fd-page .fnav{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px}
@media(max-width:900px){.fd-page .calcgrid, .fd-page .formgrid, .fd-page .herogrid{grid-template-columns:1fr}
.fd-page .leaks, .fd-page .tiers{grid-template-columns:1fr}}
@media(max-width:760px){.fd-page .compare{grid-template-columns:1fr}}
@media(max-width:768px){.fd-page section{padding:44px 0}
.fd-page .hero{padding:52px 0 44px}}
@media(max-width:600px){.fd-page .tiles{grid-template-columns:1fr}
.fd-page .btn{width:100%}
.fd-page .money{font-size:42px}
.fd-page .bar nav{display:none}}
@media(prefers-reduced-motion:reduce){.fd-page *{transition:none!important;animation:none!important}}
/* ============================================================
   WORDPRESS INTEGRATION FIXES
   Kadence styles headings and links explicitly, which beats the
   inheritance the standalone mockup relied on. These re-assert
   the design system inside the theme. Added after the first live
   render showed unstyled buttons and a dark-on-dark hero.
   ============================================================ */

/* Kill Kadence's page-title banner on design-system pages (our H1 is in the hero) */
body:has(.fd-page) .entry-hero-container-inner,
body:has(.fd-page) .page-hero-section,
body:has(.fd-page) .entry-hero{display:none !important}

/* Let the dark sections run full-bleed out of Kadence's container */
body:has(.fd-page) .content-area,
body:has(.fd-page) .site-container,
body:has(.fd-page) .entry-content-wrap{max-width:100% !important;padding-left:0 !important;padding-right:0 !important}
body:has(.fd-page) .entry-content,
body:has(.fd-page) .page-content{padding-left:0 !important;padding-right:0 !important}
.fd-page{width:100%;margin:0}

/* Headings: Kadence sets colors explicitly, so inheritance is not enough */
.fd-page .hero h1,.fd-page .hero h1 *{color:#fff}
.fd-page .hero h1 em{color:var(--fd-emerald)}
.fd-page .offer h2,.fd-page .proof h2{color:#fff}
.fd-page h2{color:var(--fd-ink)}
.fd-page .side.old h3,.fd-page .side.new h3{color:#fff}
.fd-page .tier h3{color:#fff}
.fd-page .tier.feature h3{color:var(--fd-ink)}
.fd-page .leak h3{color:var(--fd-ink)}
.fd-page .democard .tel{color:#fff}

/* Buttons: Kadence's anchor rules were flattening these to plain links */
.fd-page a.btn,.fd-page button.btn{
  display:inline-flex !important;align-items:center;justify-content:center;
  min-height:44px;padding:15px 26px;border-radius:999px;
  font:700 15px Inter,system-ui,sans-serif !important;text-decoration:none !important;
  border:0;cursor:pointer
}
.fd-page a.btn-p,.fd-page button.btn-p{background:var(--fd-emerald) !important;color:#04231A !important;box-shadow:var(--fd-sh2)}
.fd-page a.btn-p:hover,.fd-page button.btn-p:hover{background:var(--fd-emerald-deep) !important;color:#04231A !important}
.fd-page a.btn-s{background:var(--fd-ink) !important;color:#fff !important}
.fd-page a.btn-s:hover{background:#17293c !important;color:#fff !important}
.fd-page a.btn-g{background:transparent !important;border:1px solid var(--fd-ink) !important;color:var(--fd-ink) !important}
.fd-page a.btn-g:hover{background:var(--fd-ink) !important;color:#fff !important}
.fd-page .hero a.btn-g{border-color:rgba(255,255,255,.24) !important;color:#fff !important}
.fd-page .hero a.btn-g:hover{background:rgba(255,255,255,.1) !important;color:#fff !important}

/* Industry cards are anchors — stop Kadence underlining the whole card */
.fd-page a.leak,.fd-page a.leak:hover{text-decoration:none !important;color:inherit}
.fd-page a.leak h3{color:var(--fd-ink)}

/* Links inside dark sections */
.fd-page .hero a:not(.btn),.fd-page .offer a:not(.btn),.fd-page .democard a:not(.btn){color:var(--fd-emerald)}

/* Sticky-header offset so #start and #pricing don't land under the header */
.fd-page section[id],.fd-page div[id]{scroll-margin-top:90px}

/* --- container: .wrap lived in the mockup's global block and was lost in extraction --- */
.fd-page .wrap{max-width:1140px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.fd-page .herogrid{max-width:1140px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.fd-page *{box-sizing:border-box}

/* --- kill the residual empty page-title strip Kadence still reserves --- */
body:has(.fd-page) .entry-header,
body:has(.fd-page) .entry-hero-container,
body:has(.fd-page) .kadence-breadcrumbs{display:none !important}
body:has(.fd-page) .entry-content{margin-top:0 !important}
body:has(.fd-page) .site-main{padding-top:0 !important;margin-top:0 !important}

/* --- header brand: no logo image uploaded yet, so style the site title AS the lockup --- */
body:has(.fd-page) .site-title{display:block !important}
.site-title a,.site-title{font-family:Sora,system-ui,sans-serif !important;font-weight:800 !important;
  font-size:19px !important;letter-spacing:-.03em !important;color:var(--fd-ink) !important;text-decoration:none !important}
.site-tagline,.site-branding-text .site-tagline{display:none !important}
