/* R&R Fittings — extras that theme.json can't express */

:root { --rr-radius: 3px; }

/* Visible keyboard focus everywhere */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--wp--preset--color--signal);
  outline-offset: 2px;
}

/* ---------- Header ---------- */
.rr-header { position: relative; z-index: 10; }
.rr-header a { color: inherit; }
.rr-brand { gap: 0.75rem; }
.rr-brand .wp-block-site-logo img { display: block; height: auto; max-height: 64px; width: auto; }
/* Show the text wordmark only when no logo image has been uploaded */
.rr-brand .wp-block-site-logo:has(img) + .wp-block-site-title { display: none; }
.rr-header .wp-block-site-title a { color: var(--wp--preset--color--signal); font-size: 1.75rem; letter-spacing: 0.01em; }
.rr-nav .wp-block-navigation-item__content { padding: 0.35rem 0; border-bottom: 2px solid transparent; }
.rr-nav .current-menu-item > .wp-block-navigation-item__content,
.rr-nav .wp-block-navigation-item__content[aria-current="page"] { border-bottom-color: var(--wp--preset--color--signal); }
.rr-nav .wp-block-navigation-item__content:hover { text-decoration: none; border-bottom-color: rgba(255,255,255,.6); }
.rr-header-phone { margin: 0; }
.rr-header-phone .rr-phone {
  display: inline-block;
  background: var(--wp--preset--color--signal);
  color: var(--wp--preset--color--steel);
  font-family: var(--wp--preset--font-family--barlow-condensed);
  font-weight: 700;
  font-size: 1.2rem;
  padding: 0.35rem 0.85rem;
  border-radius: var(--rr-radius);
  text-decoration: none;
  white-space: nowrap;
}
.rr-header-phone .rr-phone:hover { background: #FFE14A; }

/* ---------- Hero: the one loud moment ---------- */
.rr-hero { position: relative; overflow: hidden; }
/* faint tube-run lines echo the old site's wave without the clip-art */
.rr-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    repeating-linear-gradient(-18deg, transparent 0 46px, rgba(255,255,255,.045) 46px 48px);
  pointer-events: none;
}
.rr-hero > * { position: relative; }
.rr-hero-title { max-width: 14ch; text-wrap: balance; margin-bottom: 1.25rem; }
.rr-hero-lede { max-width: 38ch; color: #E8F5FC; }

.rr-search {
  display: flex; gap: 0; margin-top: 1.5rem; max-width: 640px;
  background: #fff; border-radius: var(--rr-radius);
  box-shadow: 0 0 0 4px rgba(20, 94, 137, .55);
}
.rr-search input {
  flex: 1 1 auto; min-width: 0;
  font: 500 1.125rem/1.2 var(--wp--preset--font-family--barlow);
  color: var(--wp--preset--color--steel);
  border: 0; background: transparent; padding: 1rem 1.1rem;
}
.rr-search input::placeholder { color: #7B8791; }
.rr-search input:focus { outline: none; }
.rr-search:focus-within { box-shadow: 0 0 0 4px var(--wp--preset--color--signal); }
.rr-search button {
  flex: 0 0 auto; cursor: pointer; border: 0;
  background: var(--wp--preset--color--signal); color: var(--wp--preset--color--steel);
  font: 700 1.25rem/1 var(--wp--preset--font-family--barlow-condensed);
  padding: 0 1.4rem; border-radius: 0 var(--rr-radius) var(--rr-radius) 0;
}
.rr-search button:hover { background: #FFE14A; }
.rr-hero-hint { color: #CDE9F7; margin-top: 0.6rem; }

/* Quote tag: shaped like a part tag with a punched hole */
.rr-quote-tag {
  position: relative; border-radius: var(--rr-radius);
  padding-left: calc(var(--wp--preset--spacing--40) + 1.25rem) !important;
}
.rr-quote-tag::before {
  content: ""; position: absolute; left: 1rem; top: 50%;
  width: 14px; height: 14px; margin-top: -7px; border-radius: 50%;
  background: var(--wp--preset--color--gulf); box-shadow: inset 0 0 0 3px rgba(255,255,255,.35);
}
.rr-quote-tag p { margin: 0; color: #E8F5FC; }
.rr-quote-tag a { color: #fff; }
.rr-big-phone, .rr-big-phone p { margin: 0; }
.rr-big-phone .rr-phone {
  font: 700 clamp(2.2rem, 4vw, 3rem)/1 var(--wp--preset--font-family--barlow-condensed);
  color: var(--wp--preset--color--signal); text-decoration: none; letter-spacing: .01em;
}
.rr-big-phone .rr-phone:hover { text-decoration: underline; }
.rr-big-phone-dark .rr-phone { color: var(--wp--preset--color--gulf-deep); }

/* ---------- Stock list ---------- */
.rr-stock-grid { gap: 0 2.5rem !important; }
.rr-stock-item { border-top: 2px solid var(--wp--preset--color--brushed); padding: 1rem 0 1.1rem; }
.rr-stock-item h3 { margin: 0; }
.rr-stock-item p { margin: 0; }

/* ---------- Brands ---------- */
.rr-brand-list {
  list-style: none; padding: 0; margin: 0.75rem 0 0;
  display: flex; flex-wrap: wrap; gap: 0.35rem 2rem;
  font: 700 clamp(1.4rem, 2.6vw, 2rem)/1.25 var(--wp--preset--font-family--barlow-condensed);
  color: var(--wp--preset--color--steel);
}

/* ---------- Steps (a real sequence, so numbered) ---------- */
.rr-step { border-left: 4px solid var(--wp--preset--color--signal); padding-left: 1.25rem; }
.rr-step-num {
  font: 700 2.75rem/1 var(--wp--preset--font-family--barlow-condensed);
  color: var(--wp--preset--color--gulf); margin: 0 0 0.25rem;
}
.rr-step h3 { margin-top: 0; }

/* ---------- Footer ---------- */
.rr-footer .wp-block-site-title a { font-size: 1.75rem; text-decoration: none; }
.rr-footer a { text-decoration-color: rgba(255,255,255,.35); }
.rr-footer a:hover { text-decoration-color: currentColor; }
.rr-copy { font-size: var(--wp--preset--font-size--small); color: #A9B4BC; margin: 0; }

/* ---------- Inner pages ---------- */
.rr-page-title { margin-bottom: var(--wp--preset--spacing--40); }
.rr-page .wp-block-post-content > :first-child { margin-top: 0; }
.rr-post-row { border-bottom: 2px solid var(--wp--preset--color--brushed); }

/* ---------- Stock lookup widget ([rr_stock_lookup]) restyled to match ---------- */
body .rrsl { font-family: var(--wp--preset--font-family--barlow); color: var(--wp--preset--color--steel); max-width: none; }
body .rrsl-intro {
  font: 700 var(--wp--preset--font-size--x-large)/1.1 var(--wp--preset--font-family--barlow-condensed);
  font-variant: normal; color: var(--wp--preset--color--steel); text-align: left; letter-spacing: 0;
}
body .rrsl-contact { text-align: left; color: var(--wp--preset--color--slate); font-size: 1rem; }
body .rrsl-contact a { color: var(--wp--preset--color--gulf-deep); }
body .rrsl-bar { background: var(--wp--preset--color--brushed); border: 0; border-radius: var(--rr-radius); padding: 0.75rem; }
body .rrsl-bar input, body .rrsl-bar select { font-family: inherit; border-color: #C7D2D9; border-radius: var(--rr-radius); }
body .rrsl-bar button {
  background: var(--wp--preset--color--signal); color: var(--wp--preset--color--steel);
  font: 700 1.15rem/1 var(--wp--preset--font-family--barlow-condensed); border-radius: var(--rr-radius);
}
body .rrsl-bar button:hover { background: #FFE14A; }
body .rrsl-table th { background: var(--wp--preset--color--steel); font-weight: 600; }
body .rrsl-table td { border-bottom-color: var(--wp--preset--color--brushed); }
body .rrsl-table tr:nth-child(even) td { background: #F6F8F9; }
body .rrsl-in { color: #1B6E34; }
body .rrsl-quote { color: var(--wp--preset--color--gulf-deep); font-weight: 600; }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
  .rr-header .wp-block-group { row-gap: 0.75rem; }
  .rr-hero-title { max-width: none; }
  .rr-search button { padding: 0 1rem; font-size: 1.1rem; }
  .rr-sell .wp-block-buttons { justify-content: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Header and footer sit flush against the page content */
.wp-site-blocks > header, .wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0; }
