/* ===========================================================================
   JLog — Customs & Duties Hub (HS-codes page) stylesheet.
   Ships with the jlog-hs-seo plugin (enqueued, filemtime-versioned) so it
   survives theme switches + caching — NOT Customizer Additional CSS.
   EVERYTHING is scoped under .jlog-hsx so it cannot leak into the theme
   header/footer/menus or any other page (no global *, html or body rules).
   Brand tokens locked to the approved mockup (customs-hub-mockup.html).
   =========================================================================== */

.jlog-hsx{
  --forest:#1A2E26; --forest-mid:#3D4D44; --forest-muted:#5A6B62;
  --cream:#F7F5F0; --cream-warm:#EEEBE2; --cream-deep:#E8E5DD; --rule:#E8E5DD;
  --gold:#E8A13F; --gold-deep:#C7831E; --paper-card:#FFFFFF; --ink:#23302A;
  --font-serif:'DM Serif Display','Times New Roman',serif;
  --font-sans:'Inter',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --shadow:0 12px 32px -16px rgba(0,0,0,.42),0 2px 6px -2px rgba(0,0,0,.10);
  --shadow-flat:0 6px 18px -10px rgba(0,0,0,.30);
  --radius:14px;
  font-family:var(--font-sans); color:var(--ink); line-height:1.6;
  background:var(--cream); -webkit-font-smoothing:antialiased;
}
.jlog-hsx *{box-sizing:border-box}
.jlog-hsx h1,.jlog-hsx h2,.jlog-hsx h3,.jlog-hsx h4,.jlog-hsx p{margin:0}
.jlog-hsx a{color:inherit}
.jlog-hsx .hsx-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
/* full-bleed colour bands inside the theme's constrained content column */
.jlog-hsx .hsx-bleed{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}

/* ---- HERO ---- */
.jlog-hsx .hsx-hero{background:var(--forest);color:#fff;padding:54px 0 64px}
.jlog-hsx .hsx-eyebrow{font-size:12.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.jlog-hsx .hsx-h1{font-family:var(--font-serif);font-size:clamp(30px,4.2vw,46px);line-height:1.07;font-weight:400;max-width:20ch;margin-bottom:16px}
.jlog-hsx .hsx-lede{font-size:17px;color:#cdd6d0;max-width:60ch;margin-bottom:8px}
.jlog-hsx .hsx-schedule-note{font-size:12.5px;color:#8ea197;margin-top:12px;font-family:var(--font-mono)}
.jlog-hsx .hsx-herochoice{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.jlog-hsx .hsx-choicecard{background:var(--paper-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.jlog-hsx .hsx-ctitle{font-family:var(--font-serif);font-size:21px;font-weight:400;color:var(--forest);margin-bottom:4px}
.jlog-hsx .hsx-csub{font-size:13.5px;color:var(--forest-muted);margin-bottom:16px}

.jlog-hsx .hsx-hero-search input{width:100%;font-family:var(--font-sans);font-size:15px;padding:14px 16px;border:1.5px solid var(--cream-deep);border-radius:10px;color:var(--ink);background:var(--cream);margin-bottom:10px}
.jlog-hsx .hsx-hero-search input:focus{outline:none;border-color:var(--gold);background:#fff}
.jlog-hsx .hsx-hero-search button{width:100%;background:var(--forest);color:#fff;border:none;border-radius:10px;padding:13px;font-weight:600;font-size:15px;cursor:pointer;font-family:var(--font-sans)}
.jlog-hsx .hsx-hero-search button:hover{background:var(--forest-mid)}
.jlog-hsx .hsx-mini-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.jlog-hsx .hsx-mc{font-family:var(--font-mono);font-size:11.5px;background:var(--cream-warm);color:var(--forest);border:1px solid var(--cream-deep);padding:4px 8px;border-radius:6px;cursor:pointer}
.jlog-hsx .hsx-mc:hover{background:var(--gold);border-color:var(--gold)}

.jlog-hsx .hsx-hero-scan{border:2px dashed var(--cream-deep);background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:12px;padding:22px;cursor:pointer;transition:.15s;min-height:148px;flex:1}
.jlog-hsx .hsx-hero-scan:hover{border-color:var(--gold);background:#fff}
.jlog-hsx .hsx-hero-scan:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.jlog-hsx .hsx-sicon{font-size:34px;margin-bottom:8px}
.jlog-hsx .hsx-sbig{font-weight:600;font-size:15px;color:var(--forest);margin-bottom:3px}
.jlog-hsx .hsx-ssmall{font-size:12.5px;color:var(--forest-muted)}
.jlog-hsx .hsx-sformats{font-family:var(--font-mono);font-size:10.5px;color:var(--forest-muted);margin-top:10px;letter-spacing:.5px}

/* ---- SECTIONS ---- */
.jlog-hsx .hsx-section{padding:54px 0}
.jlog-hsx .hsx-sec-eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px}
.jlog-hsx .hsx-sec-title{font-family:var(--font-serif);font-size:32px;font-weight:400;color:var(--forest);margin-bottom:8px;line-height:1.1}
.jlog-hsx .hsx-sec-sub{font-size:16px;color:var(--forest-muted);max-width:60ch;margin-bottom:28px}

.jlog-hsx .hsx-toolcard{background:var(--paper-card);border-radius:var(--radius);box-shadow:var(--shadow-flat);border:1px solid var(--rule);padding:30px}
.jlog-hsx .hsx-searchbar{display:flex;gap:10px}
.jlog-hsx .hsx-searchbar input{flex:1;font-family:var(--font-sans);font-size:16px;padding:15px 18px;border:1.5px solid var(--cream-deep);border-radius:10px;color:var(--ink);background:var(--cream)}
.jlog-hsx .hsx-searchbar input:focus{outline:none;border-color:var(--gold);background:#fff}
.jlog-hsx .hsx-searchbar button{background:var(--forest);color:#fff;border:none;border-radius:10px;padding:0 24px;font-weight:600;font-size:15px;cursor:pointer;font-family:var(--font-sans)}
.jlog-hsx .hsx-searchbar button:hover{background:var(--forest-mid)}

/* chapter filter — secondary, collapsed (NOT a wall of 97) */
.jlog-hsx .hsx-chapter-toggle{margin:18px 0 4px;border:1px solid var(--rule);border-radius:10px;background:var(--cream);overflow:hidden}
.jlog-hsx .hsx-chapter-toggle>summary{cursor:pointer;list-style:none;padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--forest);user-select:none}
.jlog-hsx .hsx-chapter-toggle>summary::-webkit-details-marker{display:none}
.jlog-hsx .hsx-chapter-toggle>summary::after{content:' \25BE';color:var(--gold-deep)}
.jlog-hsx .hsx-chapter-toggle[open]>summary::after{content:' \25B4'}
.jlog-hsx .hs-chapter-filters{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 16px}
.jlog-hsx .hs-chapter-btn{font-family:var(--font-mono);font-size:12px;background:#fff;color:var(--forest);border:1px solid var(--cream-deep);padding:5px 9px;border-radius:6px;text-decoration:none;cursor:pointer;line-height:1.3}
.jlog-hsx .hs-chapter-btn:hover{background:var(--gold);border-color:var(--gold)}
.jlog-hsx .hs-chapter-btn.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.jlog-hsx .hs-chapter-btn.disabled{opacity:.4;cursor:not-allowed}

.jlog-hsx .hsx-resultmeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 2px 14px;font-size:14px;color:var(--forest-muted)}
.jlog-hsx .hsx-count{font-weight:600;color:var(--forest)}
.jlog-hsx .hsx-count strong{color:var(--forest)}
.jlog-hsx .hs-sort-select,.jlog-hsx .sortsel{order:2;font-family:var(--font-sans);font-size:13px;padding:7px 10px;border:1px solid var(--cream-deep);border-radius:8px;background:#fff;color:var(--forest);cursor:pointer}

/* result grid + cards */
.jlog-hsx .hsx-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jlog-hsx .rcard{display:block;background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px 18px 16px;transition:.15s;text-decoration:none;color:inherit}
.jlog-hsx a.rcard:hover{box-shadow:var(--shadow-flat);border-color:var(--cream-deep)}
.jlog-hsx .rcard .code{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--forest)}
.jlog-hsx .rcard .desc{font-size:14.5px;color:var(--ink);margin:5px 0 12px;min-height:38px}
.jlog-hsx .rcard .rates{display:flex;gap:18px;font-size:13.5px;margin-bottom:12px}
.jlog-hsx .rcard .rates b{color:var(--forest)}
.jlog-hsx .rcard .rates .lbl{color:var(--forest-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;display:block}
.jlog-hsx .rcard .pagelink{font-size:13.5px;font-weight:600;color:var(--gold-deep);text-decoration:none}
.jlog-hsx a.rcard:hover .pagelink{text-decoration:underline}
.jlog-hsx .rcard .brknote{font-size:12px;color:var(--gold-deep);margin-bottom:10px}
.jlog-hsx .rcard .ctas{display:flex;gap:8px;flex-wrap:wrap}
.jlog-hsx .rcard .ctas a{font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:8px;text-decoration:none;text-align:center}
.jlog-hsx .cta-primary{background:var(--gold);color:var(--forest)}
.jlog-hsx .cta-primary:hover{background:var(--gold-deep);color:#fff}
.jlog-hsx .cta-ghost{background:var(--cream-warm);color:var(--forest);border:1px solid var(--cream-deep)}
.jlog-hsx .cta-ghost:hover{background:var(--cream-deep)}
.jlog-hsx .tag{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:5px;margin-bottom:10px}
.jlog-hsx .tag-page{background:#e8f0ea;color:#2f6b45}
.jlog-hsx .tag-est{background:var(--cream-warm);color:var(--forest-muted)}

/* loading / empty / pagination (emitted by the search JS) */
.jlog-hsx .hs-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--forest-muted)}
.jlog-hsx .hs-spinner{width:30px;height:30px;border:3px solid var(--cream-deep);border-top-color:var(--gold);border-radius:50%;animation:hsx-spin .8s linear infinite}
@keyframes hsx-spin{to{transform:rotate(360deg)}}
.jlog-hsx .hs-empty{grid-column:1/-1;text-align:center;padding:40px;color:var(--forest-muted)}
.jlog-hsx .hs-empty-icon{font-size:32px;margin-bottom:8px}
.jlog-hsx .hs-pagination{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:24px}
.jlog-hsx .hs-page-btn{font-family:var(--font-sans);font-size:13px;padding:7px 12px;border:1px solid var(--cream-deep);border-radius:7px;background:#fff;color:var(--forest);cursor:pointer}
.jlog-hsx .hs-page-btn:hover{background:var(--cream-warm)}
.jlog-hsx .hs-page-btn.current{background:var(--forest);color:#fff;border-color:var(--forest)}
.jlog-hsx .hs-page-info{font-size:12.5px;color:var(--forest-muted);margin-left:6px}

/* ---- SCANNER SECTION (forest, own home) ---- */
.jlog-hsx .hsx-scanner{background:var(--forest);color:#fff;border-radius:20px;padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;box-shadow:var(--shadow)}
.jlog-hsx .hsx-eyebrow2{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
.jlog-hsx .hsx-scanner-h2{font-family:var(--font-serif);font-size:34px;font-weight:400;line-height:1.1;margin-bottom:14px}
.jlog-hsx .hsx-scanner-p{color:#cdd6d0;font-size:16px;margin-bottom:22px;max-width:42ch}
.jlog-hsx .hsx-feat{font-size:14px;color:#b8c4bc;margin-bottom:10px;display:flex;gap:9px;align-items:flex-start}
.jlog-hsx .hsx-dot{color:var(--gold);font-weight:700}
.jlog-hsx .hsx-scanner-widget{min-width:0}
.jlog-hsx #jlog-landed-cost{min-height:160px}

/* ---- EXPLAINER ---- */
.jlog-hsx .hsx-explain{background:var(--cream-warm)}
.jlog-hsx .hsx-exgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:8px}
.jlog-hsx .hsx-excard{background:#fff;border-radius:12px;padding:24px;border:1px solid var(--rule)}
.jlog-hsx .hsx-excard h4{font-family:var(--font-serif);font-size:19px;font-weight:400;color:var(--forest);margin-bottom:8px}
.jlog-hsx .hsx-excard p{font-size:14px;color:var(--forest-muted)}
.jlog-hsx .hsx-codeex{font-family:var(--font-mono);font-size:13px;background:var(--cream);padding:3px 7px;border-radius:5px;color:var(--forest);font-weight:500}

/* ---- CLOSING CTA ---- */
.jlog-hsx .hsx-closing{background:var(--forest);color:#fff;text-align:center;padding:56px 0}
.jlog-hsx .hsx-closing-h2{font-family:var(--font-serif);font-size:34px;font-weight:400;margin-bottom:12px}
.jlog-hsx .hsx-closing-p{color:#cdd6d0;font-size:17px;margin-bottom:26px;max-width:54ch;margin-left:auto;margin-right:auto}
.jlog-hsx .hsx-closing-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.jlog-hsx .hsx-closing-btns a{padding:15px 28px;border-radius:11px;font-weight:600;text-decoration:none;font-size:15px}
.jlog-hsx .hsx-b-gold{background:var(--gold);color:var(--forest)}
.jlog-hsx .hsx-b-gold:hover{background:#fff}
.jlog-hsx .hsx-b-outline{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.jlog-hsx .hsx-b-outline:hover{background:rgba(255,255,255,.08)}

/* ---- responsive ---- */
@media(max-width:880px){
  .jlog-hsx .hsx-herochoice{grid-template-columns:1fr}
  .jlog-hsx .hsx-cards{grid-template-columns:1fr}
  .jlog-hsx .hsx-scanner{grid-template-columns:1fr;padding:30px}
  .jlog-hsx .hsx-exgrid{grid-template-columns:1fr}
  .jlog-hsx .hsx-section{padding:40px 0}
}

/* Hide the theme's white page-title bar on /hs-codes/ ONLY, while KEEPING the
   <h1> ("South African HS Code Lookup — Free Tariff Search") in the DOM for SEO.
   Off-screen clip (the accessible visually-hidden pattern), NOT display:none —
   the h1 text stays crawlable + screen-reader readable, and the white band is
   pulled out of flow so no empty strip remains. Scoped to page-id-18848 so no
   other page's title bar is affected. The hero's visible headline is a <div>,
   so this remains the page's single, unambiguous H1. */
body.page-id-18848 .page-header{
  position:absolute !important;
  width:1px;height:1px;
  padding:0 !important;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
