/*
Theme Name: Harbor
Template: signify
Description: Design layer for authorityshoe.com.
Version: 1.0
*/

/* authorityshoe.com — "Harbor" · bespoke child theme on the signify parent.
   Subject: player-protection tooling, licensing and regulation in online
   gambling — not a casino-review or bonus site, so the design avoids the
   flashy-casino register entirely: a plum/steel "registry desk" instead of
   red/gold. Structural idea: every article carries a monospace file-code
   kicker (e.g. "RG-014") like a case entry in a compliance register, and
   category labels double as status chips (Safeguards / Policy / Voices).
   Loads after the parent, so no !important is needed anywhere. */

:root {
  --hb-paper:   #f7f4fa;
  --hb-card:    #ffffff;
  --hb-ink:     #1f1a2b;
  --hb-body:    #3a3348;
  --hb-muted:   #5e5670;   /* 5.1:1 on paper */
  --hb-line:    #ddd6e6;
  --hb-tint:    #f1e6f0;
  --hb-plum:    #74306f;   /* chips, borders, buttons — large-text safe */
  --hb-plum-dk: #55234f;   /* body-size links — 7.3:1 on white */
  --hb-slate:   #45506b;   /* secondary chip */
  --hb-slate-dk:#2f374a;   /* secondary text-size links */
  --hb-max:     71rem;
  --hb-measure: 68ch;
}

* { box-sizing: border-box; overflow-wrap: break-word; }
html { -webkit-text-size-adjust: 100%; font-size: 16px; }

body {
  background: var(--hb-paper);
  color: var(--hb-body);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
}

.hb-mono, .hb-kicker, .hb-badge, .hb-author__role, .hb-colophon h3 {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

h1, h2, h3, h4 {
  color: var(--hb-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
}
h1 { font-size: 2rem; line-height: 1.35; margin: 0 0 .75rem; }
h2 { font-size: 1.375rem; line-height: 1.4; margin: 2.25rem 0 .65rem; }
h3 { font-size: 1.125rem; line-height: 1.4; margin: 1.75rem 0 .5rem; }
p { margin: 0 0 1.1rem; }
a { color: var(--hb-plum-dk); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--hb-plum); }
img { max-width: 100%; height: auto; border-radius: .5rem; }
ul, ol { padding-left: 1.4rem; margin: 0 0 1.1rem; }
li { margin-bottom: .4rem; }
strong { color: var(--hb-ink); }

.site, .site-content, .wrapper { max-width: var(--hb-max); }

/* ---------- header ---------- */
.site-header, .site-header-main, .site-header-menu {
  background: var(--hb-ink);
}
.site-branding .site-title, .site-title,
.site-branding .site-title a, .site-title a {
  color: #ffffff !important;
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: none !important;
  /* the WP site title field on this install is a full sentence, not a short
     wordmark — keep it from blowing up the header on any viewport. */
  font-size: clamp(1.05rem, 3.4vw, 1.5rem) !important;
  line-height: 1.4 !important;
  display: block;
  max-width: 100%;
  overflow-wrap: break-word;
}
.site-header, #masthead, .site-branding { overflow: hidden; }
.main-navigation ul li a, .menu-inside-wrapper ul li a {
  color: #e7defe;
  font-size: .9rem;
  font-weight: 600;
  padding: .85rem 1rem;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: #ffffff;
  background: rgba(255,255,255,.08);
}

/* ---------- registry kicker + status chips ---------- */
.cat-links {
  display: inline-block;
  font-size: .78rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .3rem .6rem;
  border-radius: .35rem;
  background: var(--hb-tint);
  border: 1px solid var(--hb-line);
}
.cat-links a { color: var(--hb-plum-dk) !important; }
.entry-meta, .posted-on, time.entry-date,
.nav-subtitle, .nav-links .nav-subtitle {
  color: var(--hb-muted) !important;
  font-size: .85rem;
  line-height: 1.5;
}

/* ---------- cards / archive list ---------- */
.hentry, .hb-card, .wp-block-latest-posts__list li {
  background: var(--hb-card);
  border: 1px solid var(--hb-line);
  border-radius: .65rem;
  padding: 1.5rem;
}
.hb-card .post-thumbnail { margin: -1.5rem -1.5rem 1rem; }
.hb-card .post-thumbnail img { border-radius: .65rem .65rem 0 0; }
@media (max-width: 640px) {
  .hentry, .hb-card { padding: 1.1rem; }
  .hb-card .post-thumbnail { margin: -1.1rem -1.1rem 1rem; }
}
.entry-title { font-size: 1.35rem; line-height: 1.4; margin: .6rem 0 .4rem; }
.entry-title a { color: var(--hb-ink); }
.entry-title a:hover { color: var(--hb-plum); }
.entry-summary p { color: var(--hb-body); max-width: var(--hb-measure); }
.more-link {
  display: inline-block;
  margin-top: .5rem;
  padding: .5rem .9rem;
  border-radius: .4rem;
  background: var(--hb-plum) !important;
  color: #ffffff !important;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  text-transform: none !important;
}
.more-link:hover { background: var(--hb-plum-dk) !important; }

/* mobile menu toggle: the parent sets a near-black label on our dark header */
.menu-label, button.menu-toggle .menu-label, .menu-toggle {
  color: #ffffff !important;
  line-height: 1.5 !important;
}

/* ---------- single article ---------- */
.entry-content { font-size: 1.06rem; line-height: 1.75; max-width: var(--hb-measure); }
/* the parent theme's own content-link colour (a bright pink) fails AA on
   white; this beats it — parent's selector is more specific than a bare `a`. */
.entry-content a, .singular-content-wrap .entry-content a,
.page .entry-content a, .single .entry-content a {
  color: var(--hb-plum-dk) !important;
}
.entry-content a:hover, .singular-content-wrap .entry-content a:hover {
  color: var(--hb-plum) !important;
}
.entry-content h2 { border-top: 1px solid var(--hb-line); padding-top: 1.5rem; }
.entry-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--hb-plum);
  background: var(--hb-tint);
  border-radius: 0 .5rem .5rem 0;
  color: var(--hb-body);
}
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .95rem;
}
.entry-content table th {
  background: var(--hb-ink);
  color: #ffffff;
  text-align: left;
  padding: .65rem .85rem;
}
.entry-content table td {
  padding: .6rem .85rem;
  border-bottom: 1px solid var(--hb-line);
}

/* ---------- our author box (hb-, distinct from the parent's gravatar box,
   which is hidden below) ---------- */
.hb-author {
  margin-top: 2.5rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  max-width: var(--hb-measure);
  background: var(--hb-card);
  border: 1px solid var(--hb-line);
  border-radius: .65rem;
  padding: 1.4rem;
}
.hb-author__avatar img { border-radius: .5rem; display: block; margin: 0; }
.hb-author__name { margin: 0; font-weight: 700; color: var(--hb-ink); }
.hb-author__role {
  margin: .15rem 0 .5rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--hb-plum-dk);
}
.hb-author__bio { margin: 0; font-size: .92rem; color: var(--hb-body); line-height: 1.6; }
@media (max-width: 640px) { .hb-author { flex-direction: column; } }

/* parent theme's own gravatar-based author card, if it renders one */
.author-info, .author-bio, .author-description, .author-avatar,
.wp-post-author-meta, .entry-author-box, .cm-author-box, .about-author,
#author-info, .post-author-info { display: none; }

/* ---------- sidebar / widgets ---------- */
.widget-area .widget, #secondary .widget {
  background: var(--hb-card);
  border: 1px solid var(--hb-line);
  border-radius: .6rem;
  padding: 1.25rem;
  margin-bottom: 1rem;
}
.widget-area .widget-title, .widget-area h2 {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--hb-ink);
  border-bottom: 1px solid var(--hb-line);
  padding-bottom: .5rem;
  margin-bottom: .75rem;
}
.widget-area .widget a { color: var(--hb-slate-dk); }
.widget_archive, .widget_calendar { display: none; }

/* ---------- our footer (hb-colophon) ---------- */
.hb-colophon {
  background: var(--hb-ink);
  color: #cfc6df;
  padding: 3rem 1.5rem 2rem;
  margin-top: 2rem;
}
.hb-colophon > * { max-width: 1150px; margin-left: auto; margin-right: auto; }
.hb-colophon__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
.hb-colophon h3 {
  color: #ffffff;
  font-size: .75rem;
  letter-spacing: .08em;
  margin-bottom: .75rem;
}
.hb-colophon ul { list-style: none; margin: 0; padding: 0; }
.hb-colophon li { margin-bottom: .5rem; }
.hb-colophon a { color: #d9d0e8; text-decoration: none; }
.hb-colophon a:hover { color: #ffffff; text-decoration: underline; }
.hb-colophon p { max-width: 42ch; margin-bottom: .75rem; color: #cfc6df; }
.hb-badge {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  padding: .3rem .6rem;
  border-radius: .3rem;
  background: rgba(255,255,255,.12);
  color: #ffffff !important;
}
.hb-colophon__base {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
  font-size: .8rem;
  color: #b4a9c9;
}
.hb-colophon__base a { color: #d9d0e8; }
@media (max-width: 860px) { .hb-colophon__cols { grid-template-columns: 1fr; } }

/* the stock header/media banner carries no information here */
.custom-header, .custom-header-media, .header-media,
.custom-header-overlay { display: none !important; }
