/* Adjust spacing for title and content */

#main > .inner > section { padding-top: 2em; }
#header .icons { margin-left: auto; }

:root {
  --e-accent:    #1d4ed8;   /* steel blue — replaces coral */
  --e-fg:        #334155;   /* body text                   */
  --e-fg-bold:   #0f172a;   /* headings, labels            */
  --e-fg-light:  #64748b;   /* muted, placeholders         */
  --e-bg-alt:    #f8fafc;   /* sidebar, zebra rows         */
  --e-border:    rgba(148, 163, 184, 0.55);
}

/* ---------- Text ---------- */
body, input, select, textarea { color: var(--e-fg); }
strong, b, h1, h2, h3, h4, h5, h6,
label, select option, table th { color: var(--e-fg-bold); }

input[type=checkbox] + label,
input[type=radio] + label { color: var(--e-fg); }
input[type=checkbox]:checked + label:before,
input[type=radio]:checked + label:before {
  background: var(--e-fg-bold);
  border-color: var(--e-fg-bold);
}

#search form:before, #sidebar .toggle:before { color: var(--e-fg); }
#footer .copyright { color: var(--e-fg-light); }

#menu ul { color: var(--e-fg-bold); }
#menu ul li .dropdown:before,
#menu ul li .dropdown.active + ul,
#menu > ul > li > ul { color: var(--e-fg-light); }
#menu > ul > li > ul a,
#menu > ul > li > ul span { color: var(--e-fg); }

::-webkit-input-placeholder { color: var(--e-fg-light) !important; }
:-moz-placeholder           { color: var(--e-fg-light) !important; }
::-moz-placeholder           { color: var(--e-fg-light) !important; }
:-ms-input-placeholder       { color: var(--e-fg-light) !important; }
::placeholder                { color: var(--e-fg-light) !important; }

/* ---------- Accent ---------- */
a { color: var(--e-accent); }
a:hover {
  color: var(--e-accent) !important;
  border-bottom-color: var(--e-accent);
}
#header { border-bottom: solid 5px var(--e-accent); }
#menu ul li .dropdown:hover { color: var(--e-accent); }

header.major > h1, header.major > h2, header.major > h3,
header.major > h4, header.major > h5, header.major > h6 {
  border-bottom: solid 3px var(--e-accent);
}

input[type=submit], input[type=reset], input[type=button] {
  color: var(--e-accent) !important;
  box-shadow: inset 0 0 0 2px var(--e-accent);
}
input[type=submit].primary,
input[type=reset].primary,
input[type=button].primary { background-color: var(--e-accent); }

input[type=submit].outline, input[type=reset].outline,
input[type=button].outline,
input[type=submit].outline-primary, input[type=reset].outline-primary,
input[type=button].outline-primary {
  color: var(--e-accent) !important;
  box-shadow: inset 0 0 0 2px var(--e-accent);
}

input[type=text]:focus, input[type=password]:focus,
input[type=email]:focus, input[type=tel]:focus, input[type=url]:focus,
input[type=number]:focus, input[type=search]:focus, select:focus,
textarea:focus {
  border-color: var(--e-accent);
  box-shadow: 0 0 0 1px var(--e-accent);
}
input[type=checkbox]:focus + label:before,
input[type=radio]:focus + label:before {
  border-color: var(--e-accent);
  box-shadow: 0 0 0 1px var(--e-accent);
}

#back-to-top,
.box.primary,
ul.pagination li > .page.active,
.archive_items,
.score { background-color: var(--e-accent); }

ul.contact li:before,
.features article .icon:before,
.team .member .links a i,
.team .member .text p:nth-of-type(1),
.mini-posts article a.featured-title h3:hover { color: var(--e-accent); }

/* ---------- Surfaces & borders ---------- */
#sidebar { background-color: var(--e-bg-alt); }
.responsive tr td:first-child,
ul.blog-items li:nth-child(even) { background-color: var(--e-bg-alt); }

#main > .inner > section { border-top-color: var(--e-border); }
#menu > ul > li { border-top-color: var(--e-border); }

/* ---------- Buttons: Grav emits <button>; theme styles .button too ---------- */
input[type=submit],
input[type=reset],
input[type=button],
button,
.button {
  color: var(--e-accent) !important;
  box-shadow: inset 0 0 0 2px var(--e-accent);
}

input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
button:hover,
.button:hover {
  background-color: rgba(29, 78, 216, 0.06);
}
input[type=submit]:active,
input[type=reset]:active,
input[type=button]:active,
button:active,
.button:active {
  background-color: rgba(29, 78, 216, 0.15);
}

/* Filled (primary) */
input[type=submit].primary,
input[type=reset].primary,
input[type=button].primary,
button.primary,
.button.primary {
  background-color: var(--e-accent);
  box-shadow: none;
  color: #ffffff !important;
}
input[type=submit].primary:hover,
input[type=reset].primary:hover,
input[type=button].primary:hover,
button.primary:hover,
.button.primary:hover {
  background-color: #1e40af;
}
input[type=submit].primary:active,
input[type=reset].primary:active,
input[type=button].primary:active,
button.primary:active,
.button.primary:active {
  background-color: #17348f;
}

/* Outline variants */
input[type=submit].outline,
input[type=reset].outline,
input[type=button].outline,
button.outline,
.button.outline,
input[type=submit].outline-primary,
input[type=reset].outline-primary,
input[type=button].outline-primary,
button.outline-primary,
.button.outline-primary {
  color: var(--e-accent) !important;
  box-shadow: inset 0 0 0 2px var(--e-accent);
}

/* Coral left in rgb() form — missed by any hex swap */
ul.pagination li > .page.active:hover { background-color: #1e40af; }
ul.pagination li > .page.active:active { background-color: #17348f; }
.team .member .links a i:hover { color: #1e40af; }


/* Fix accordion arrow (ref: /cv) */
details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  cursor: pointer;
}
details > summary > h3 { margin: 0; font-size: inherit; }
details > summary::-webkit-details-marker { display: none; }
details > summary::marker { content: ""; }
details > summary::after { content: "+"; color: var(--e-accent); font-weight: 800; font-size: 1.3em; }
details[open] > summary::after { content: "\2013"; }

#cv-toggle {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 1em !important;
  padding: 0.6em 1.4em !important;
  text-align: left !important;
}

/* Set logo sizing (ref: /cv) */

.cv table td img {
  width: 200px;
  height: 100px;
  object-fit: contain;
  object-position: left center;
}
.cv table td { vertical-align: middle; }
.cv table th:first-child,
.cv table td:first-child { width: 130px; }
.cv table th:last-child,
.cv table td:last-child { text-align: right; }   /* keeps dates right-aligned */
