/*
Theme Name: Robert Pearce
Description: Child theme for Hello Elementor. Navy and gold, large type, high contrast.
Template: hello-elementor
Version: 1.1.0
Text Domain: robertpearce-child
*/

:root {
  --rp-navy: #0b1f4a;
  --rp-navy-deep: #06122e;
  --rp-gold: #e6c25f;
  --rp-gold-dark: #8a6416;
  --rp-ink: #0a1530;
  --rp-paper: #ffffff;
  --rp-mist: #f3f5f9;
}

html { font-size: 112.5%; }

body {
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.1rem;
  line-height: 1.75;
  color: var(--rp-ink);
  background: var(--rp-paper);
}

h1, h2, h3, h4 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--rp-navy);
  line-height: 1.25;
}
h1 { font-size: 2.4rem; }
h2 { font-size: 1.9rem; }
h3 { font-size: 1.5rem; }

/* Gold rule under main headings */
.entry-title::after, .page-header .entry-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 0.6rem;
  background: var(--rp-gold);
}

a { color: var(--rp-navy); text-decoration: underline; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--rp-gold-dark); }

/* Visible keyboard focus everywhere */
a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline: 3px solid var(--rp-gold);
  outline-offset: 2px;
}

/* Buttons: navy with gold text (strong contrast) */
button, .button, input[type="submit"], .elementor-button {
  background: var(--rp-navy);
  color: var(--rp-gold);
  border: 2px solid var(--rp-navy);
  font-size: 1.05rem;
  font-weight: 600;
  padding: 0.8rem 1.6rem;
  border-radius: 4px;
}
button:hover, .button:hover, input[type="submit"]:hover, .elementor-button:hover {
  background: var(--rp-navy-deep);
  color: #fff;
}

/* Forms: big, easy targets */
input[type="text"], input[type="email"], input[type="search"], textarea, select {
  font-size: 1.05rem;
  padding: 0.75rem 0.9rem;
  border: 2px solid var(--rp-navy);
  border-radius: 4px;
  background: #fff;
  color: var(--rp-ink);
  width: 100%;
}
label { font-weight: 600; display: block; margin-bottom: 0.3rem; }

/* Comments */
.comment-policy {
  background: var(--rp-mist);
  border-left: 4px solid var(--rp-gold);
  padding: 0.8rem 1rem;
  font-size: 1rem;
  margin: 1rem 0;
}
.comment-body { border-bottom: 1px solid #d5d9e3; padding: 1rem 0; }

/* Vote record cards */
.rp-vote { border: 2px solid var(--rp-navy); border-radius: 6px; padding: 1rem 1.2rem; margin-bottom: 1.2rem; }
.rp-vote__meta { font-size: 1rem; color: #3a4666; margin-bottom: 0.4rem; }
.rp-vote__result { display: inline-block; font-weight: 700; padding: 0.15rem 0.7rem; border-radius: 3px; background: var(--rp-navy); color: var(--rp-gold); }

/* Print-friendly */
@media print {
  a { color: #000; text-decoration: none; }
  .site-header, .site-footer, .comment-respond { display: none; }
}

/* ---------- Layout ---------- */
.rp-wrap { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; }
.rp-page { padding-top: 2rem; padding-bottom: 3rem; }
.rp-lead { font-size: 1.25rem; }
.rp-skip { position: absolute; left: -999px; top: 0; background: var(--rp-gold); color: var(--rp-navy); padding: 0.6rem 1rem; z-index: 100; }
.rp-skip:focus { left: 0.5rem; top: 0.5rem; }

/* ---------- Header ---------- */
.rp-header { background: var(--rp-navy); border-bottom: 4px solid var(--rp-gold); }
.rp-header__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; padding-top: 0.75rem; padding-bottom: 0.75rem; }
.rp-brand { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; }
.rp-brand img { height: 48px; width: auto; }
.rp-brand__text { display: flex; flex-direction: column; line-height: 1.2; }
.rp-brand__name { font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; color: var(--rp-gold); letter-spacing: 0.08em; text-transform: uppercase; }
.rp-brand__role { font-size: 0.95rem; color: #fff; }
.rp-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
.rp-nav a { color: #fff; text-decoration: none; font-size: 1.05rem; font-weight: 600; padding: 0.4rem 0; border-bottom: 3px solid transparent; }
.rp-nav a:hover, .rp-nav a:focus { color: var(--rp-gold); border-bottom-color: var(--rp-gold); }
.rp-nav .current-menu-item > a, .rp-nav .current_page_item > a { border-bottom-color: var(--rp-gold); }
.rp-menu-btn { display: none; }

@media (max-width: 860px) {
	.rp-menu-btn { display: inline-block; background: transparent; color: var(--rp-gold); border: 2px solid var(--rp-gold); padding: 0.5rem 1.1rem; }
	.rp-menu-btn:hover { background: var(--rp-gold); color: var(--rp-navy); }
	.rp-nav { display: none; width: 100%; }
	.rp-nav.is-open { display: block; }
	.rp-nav__list { flex-direction: column; gap: 0; }
	.rp-nav a { display: block; padding: 0.8rem 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
}

/* ---------- Home ---------- */
.rp-hero { background: var(--rp-navy); color: #fff; padding: 3rem 0; }
.rp-hero__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2.5rem; align-items: center; }
.rp-hero h1 { color: #fff; font-size: 3rem; margin: 0 0 0.75rem; }
.rp-hero p { font-size: 1.2rem; color: #fff; }
.rp-eyebrow { color: var(--rp-gold) !important; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; font-size: 1rem !important; margin-bottom: 0.25rem; }
.rp-hero__photo img { width: 100%; height: auto; border-radius: 6px; border: 4px solid var(--rp-gold); display: block; }
.rp-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
@media (max-width: 760px) {
	.rp-hero__grid { grid-template-columns: 1fr; }
	.rp-hero__photo { order: -1; max-width: 320px; }
	.rp-hero h1 { font-size: 2.3rem; }
}

.rp-btn { display: inline-block; padding: 0.8rem 1.5rem; border-radius: 4px; font-weight: 700; text-decoration: none; border: 2px solid var(--rp-navy); }
.rp-btn--gold { background: var(--rp-gold); color: var(--rp-navy); border-color: var(--rp-gold); }
.rp-btn--gold:hover { background: #fff; color: var(--rp-navy); }
.rp-btn--line { background: transparent; color: #fff; border-color: #fff; }
.rp-btn--line:hover { background: #fff; color: var(--rp-navy); }
.rp-btn--navy { background: var(--rp-navy); color: var(--rp-gold); }
.rp-btn--navy:hover { background: var(--rp-navy-deep); color: #fff; }

.rp-section { padding: 3rem 0; }
.rp-section--mist { background: var(--rp-mist); }
.rp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; margin-bottom: 1.5rem; }
.rp-card { border: 2px solid var(--rp-navy); border-top: 6px solid var(--rp-gold); border-radius: 6px; padding: 1.1rem 1.25rem; background: #fff; }
.rp-card h3 { margin: 0.25rem 0 0.5rem; font-size: 1.3rem; }
.rp-card h3 a { text-decoration: none; }
.rp-card__meta { font-size: 0.95rem; color: #3a4666; margin: 0; }
.rp-vote h2, .rp-vote h3 { margin-top: 0; }

.rp-band { background: var(--rp-navy); color: #fff; padding: 3rem 0; text-align: center; }
.rp-band h2 { color: var(--rp-gold); }
.rp-band p { color: #fff; font-size: 1.15rem; }

/* ---------- Footer ---------- */
.rp-footer { background: var(--rp-navy-deep); color: #fff; padding: 2.5rem 0; border-top: 4px solid var(--rp-gold); }
.rp-footer a { color: var(--rp-gold); }
.rp-footer a:hover { color: #fff; }
.rp-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.rp-footer__logo img { max-width: 100%; height: auto; }
.rp-footer__h { color: var(--rp-gold); font-size: 1.2rem; margin: 0 0 0.5rem; }
@media (max-width: 640px) { .rp-footer__grid { grid-template-columns: 1fr; } }
