/* ================= SavingEnergy.com · DIRECTORY v1.1 · assets/directory.css (Anchor, Tue 13 Oct 2026) =================
   Loaded ONLY by the Directory pages (/directory/ and its three category pages), after site.css.
   v1.0 (12 Oct) rebuilt on the 13 Oct live site; the constitution-strip rules are already in site.css, so they are not repeated here.
   House rules kept: nothing here depends on JavaScript or an animation to be seen; no badges and no Ad on any firm listing. */
:root{--slate:#2f3a45;--slate-2:#4a5866;--slate-line:#d3d9df;--slate-bg:#f4f6f8}

/* category cards (Directory home) */
.dir-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dir-cat{display:flex;flex-direction:column;gap:10px;min-width:0;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:20px;padding:28px 28px 24px;transition:box-shadow .25s ease,border-color .25s ease}
.dir-cat:hover{border-color:rgba(212,175,55,.6);box-shadow:var(--shadow)}
.dir-cat:focus-visible{outline:3px solid var(--gold-lo);outline-offset:3px}
.dir-cat svg{width:40px;height:40px;color:var(--gold-lo)}
.dir-cat h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,30px);margin:0}
.dir-cat p{margin:0;font-size:17px;color:var(--muted)}
.dir-cat .dir-count{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2)}
.dir-cat .go{margin-top:auto;padding-top:6px;font-weight:700;color:#a34d00}
@media (max-width:900px){.dir-cats{grid-template-columns:1fr}}

/* the six rules */
.dir-rules{list-style:none;counter-reset:r;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}
.dir-rules li{counter-increment:r;position:relative;min-width:0;padding:18px 20px 18px 62px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:17px}
.dir-rules li::before{content:counter(r,decimal-leading-zero);position:absolute;left:18px;top:17px;font-family:var(--mono);font-weight:800;font-size:15px;color:#7a6315}
.dir-rules b{display:block;font-size:18px;margin-bottom:2px}
@media (max-width:800px){.dir-rules{grid-template-columns:1fr}}

/* find by postcode district */
.dir-find{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;max-width:640px;margin:0 0 8px}
.dir-find .field{margin:0}
.dir-find input{text-transform:uppercase}
.dir-find .btn{padding:15px 24px}
.dir-hint{font-size:15px;color:var(--muted);margin:0 0 26px}
.dir-result{margin:0 0 16px;font-weight:700;font-size:18px}
.dir-result:empty{display:none}
@media (max-width:520px){.dir-find{grid-template-columns:1fr}}

/* empty state: never fillers, never a paid-place tease */
.dir-empty{padding:22px 24px;border:1.5px dashed #cdbf9d;border-radius:16px;background:var(--cream);font-size:17px}
.dir-empty h3{margin:0 0 8px;font-size:21px}
.dir-empty p{margin:0 0 10px}
.dir-empty ul{margin:4px 0 0;padding-left:20px}
.dir-empty li{margin:0 0 6px}

/* two boxes */
.dir-boxes{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;align-items:start}
.dir-box{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:18px;padding:28px 30px;min-width:0}
.dir-box h2{font-size:clamp(24px,2.8vw,30px);margin:0 0 12px}
.dir-box p{font-size:17px}
.dir-checks{margin:0;padding:0 0 0 20px}
.dir-checks li{margin:0 0 9px;font-size:17px}
.dir-note{font-size:15px;color:var(--muted);margin:12px 0 0}
@media (max-width:860px){.dir-boxes{grid-template-columns:1fr}}
@media (max-width:560px){.dir-box{padding:22px 20px}}

/* the listing card: a Technical Authority Ledger, registry style, no adjectives, no badges */
.ledger-list{display:grid;gap:22px;margin:0 0 22px}
.ledger-list:empty{display:none}
.ledger{background:#fff;border:1px solid var(--slate-line);border-radius:16px;overflow:hidden;min-width:0}
.ledger>header{background:var(--slate);color:#fff;padding:18px 22px 16px}
.ledger>header h3{margin:2px 0 4px;font-size:23px;color:#fff}
.ledger .reg,.ledger .cov{margin:0;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:#d6dee5}
.ledger .body{padding:18px 22px 20px;display:grid;gap:16px}
.ledger dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;margin:0;border-top:1px solid var(--slate-line)}
.ledger dt,.ledger dd{margin:0;padding:10px 0;border-bottom:1px solid var(--slate-line)}
.ledger dt{padding-right:14px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2)}
.ledger dd{font-size:16.5px;overflow-wrap:anywhere}
.ledger dd .chip-date{margin-left:6px}
.ledger .history{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}
.ledger .history li{background:var(--slate-bg);border:1px solid var(--slate-line);border-radius:10px;padding:10px 12px}
.ledger .history b{display:block;font-family:var(--mono);font-size:24px;color:var(--slate)}
.ledger .history span{font-size:14px;color:var(--slate-2)}
.ledger details>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:12px 18px;border-radius:10px;background:var(--slate);color:#fff;font-weight:700}
.ledger details>summary::-webkit-details-marker{display:none}
.ledger details>summary:focus-visible{outline:3px solid var(--gold-lo);outline-offset:3px}
.ledger details[open]>summary{margin-bottom:12px}
.ledger details p{margin:10px 0 0;font-size:15px;color:var(--slate-2)}
@media (max-width:600px){.ledger dl{grid-template-columns:1fr}.ledger dt{border-bottom:0;padding-bottom:0}.ledger .history{grid-template-columns:1fr}}

/* applicant status steps (terms) */
.dir-steps{list-style:none;margin:14px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dir-steps li{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--slate-line);border-radius:999px;background:var(--slate-bg);color:var(--slate)}
.dir-steps li+li::before{content:"→ ";color:#7a6315}

/* undecided terms and unchecked facts: shown plainly in drafts so nothing undecided can go live unnoticed */
.pending{font-family:var(--mono);font-size:.85em;font-weight:700;color:#8a1c14;background:#fdecea;border:1.5px dashed var(--red);border-radius:6px;padding:1px 6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.verify{font-family:var(--mono);font-size:.78em;font-weight:700;color:#7a4a00;background:#fff4dc;border:1.5px dashed #c98a00;border-radius:6px;padding:1px 6px;white-space:nowrap}
.page-hero .pending{display:inline-block;margin-top:14px}
