/* ---------------------------------------------------------------------------
 * /search-results/ — Divi-free.
 *
 * DELIBERATELY SMALL. The page body is ONE thing: [arborstone_search_results],
 * a 137 KB self-contained app (arborstone-search.php) that ships its own 32 KB
 * <style id="arborstone-search-css">, its own 56 KB of inline JS, its own as-*
 * class prefix and ZERO references to et_pb_. It needs no styling from here and
 * must not be given any.
 *
 * So this sheet dresses only what the app does NOT own: the two location
 * directories (Divi globals 170 + 220), the base footer (global 70) and the
 * legal/social bar. Those rules are the homepage set, rescoped #arbor-hp ->
 * #arbor-sr, so one copy of directories.html / basefoot.html serves both.
 *
 * Bar values MEASURED on live and composited -- ground rgb(45,45,45),
 * legal links #BBBBBB (contrast 7.17), discs 44px/50%/#003A60 (11.84).
 * ------------------------------------------------------------------------- */

/* Custom properties FIRST.
 *
 * The selector-keyed lift that built this file drops any rule whose selector
 * contains no sz-dash or et-footer-nav token -- which is exactly the shape of the
 * `#arbor-hp { --sz-navy: ... }` declaration block. On the homepage that omission
 * left `background: var(--sz-navy)` resolving to transparent and put 76 items of
 * WHITE TEXT ON WHITE through the directory and footer. Declared explicitly here
 * so the same lift cannot drop them again. Values copied from the size sheet. */
#arbor-sr {
  --hp-navy:  #003A60;
  --hp-wrap:  1080px;
  --sz-navy:  var(--navy, #003A60);
  --sz-ink:   #0E3255;
  --sz-grey:  #787878;
  color: #666;
  font: 500 16px/1.7 Montserrat, Helvetica, Arial, sans-serif;
}

/* Element resets the selector-keyed lift also dropped.
 *
 * basefoot.html's logo carries width="405". At a 375px viewport it rendered 405px
 * wide and overflowed by 30px -- invisible as a scrollbar only because the shell
 * sets overflow-x: clip, so the logo was simply CUT OFF. Same trap recorded on the
 * size-page pilot ("the unconstrained 405px footer logo pushed scrollWidth to 406").
 * Caught at 375px on staging 2026-09-17.
 *
 * Scoped to #arbor-sr so it cannot reach the search app, which owns its own images. */
#arbor-sr :where(img) { max-width: 100%; height: auto; }
#arbor-sr :where(ul, ol) { margin: 0; padding: 0; list-style: none; }


/* ---------------------------------------------------------------------------
 * Directory + base-footer rules, lifted verbatim from arborstone-size-pages/
 * styles.css and rescoped #arbor-sz -> #arbor-sr. The sz-* CLASS NAMES are kept
 * so directories.html and basefoot.html stay byte-identical across families --
 * one copy of that markup, four sheets that dress it.
 * ------------------------------------------------------------------------- */
.sz-in { width: 91%; max-width: 1317px; margin: 0 auto; }
/* --- intro ---------------------------------------------------------------- */
.sz-intro { background: #fff; padding: 13px 0 0; }
.sz-intro-grid { display: grid; grid-template-columns: 342px minmax(0, 1fr);
                 gap: 48px; align-items: center; }
.sz-intro-fig { margin: 0; }
.sz-intro-fig img { display: block; width: 100%; }
/* ⚠️ These two blocks are <h3> in post_content -- body copy marked up as
   headings. Pre-existing on all 10 pages. Heading LEVELS are never changed on
   this site (a documented hard rule), so they stay h3 and are styled as lead
   copy, exactly as Divi renders them today. */
.sz-intro-copy h3 { font-size: 23px; line-height: 27.6px; font-weight: 700;
                    color: var(--sz-ink); text-align: center; padding: 0 0 10px; }
.sz-cta .sz-in { display: flex; align-items: center; justify-content: center;
                 gap: 32px; flex-wrap: wrap; }
/* --- location directories + base footer (Divi globals 170 / 220 / 70) ------ */
/* Divi globals 170 (Oklahoma) and 220 (Texas + Arkansas). The two sections do NOT
   share a column count: Oklahoma is one full-width heading over 4 columns, while
   Texas/Arkansas is a 2-column heading row over a 5-column content row, split 3
   Texas / 2 Arkansas. Rendering both as a 4-column grid drops the Arkansas heading
   into the middle of the Texas links. */
.sz-dir { background: var(--sz-navy); padding: 24px 0 9px; }
.sz-dir-ok { padding-top: 32px; }
.sz-dirhead { text-align: center; padding: 0 0 14px; }
#arbor-sr .sz-dirhead, #arbor-sr .sz-dirhead a { color: #fff; font-size: 20px;
                       line-height: 28px; font-weight: 700; }
.sz-dirheads-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
                 gap: 20px; }
#arbor-sr .sz-dircol li { color: #fff; font-size: 15px; line-height: 24px;
                          padding: 0 0 6px; }
#arbor-sr .sz-dir a { color: #fff; text-decoration: none; }
#arbor-sr .sz-dir a:hover { text-decoration: underline; }
.sz-dirgrid { display: grid; gap: 20px; padding: 18px 0; }
.sz-dirgrid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sz-dirgrid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
/* Divi global 70. Rebuilt from live 2026-09-16 rather than reused from the
   corporate family: that copy is a 2-column logo|text grid carrying an OLDER
   revision of the sentence ("state-of-the-art facility is" vs live's "facilities
   are") and it DROPS the Main Office address and the tel: link entirely. Live is
   a single centred column, stacked: paragraph, logo, address, phone. */
.sz-basefoot { background: var(--sz-navy); padding: 24px 0 32px; text-align: center; }
#arbor-sr .sz-basefoot p { color: #fff; font-size: 16px; line-height: 27.2px;
                           padding: 0 0 12px; }
#arbor-sr .sz-basefoot p:last-child { padding-bottom: 0; }
#arbor-sr .sz-basefoot a { color: #fff; text-decoration: none; }
#arbor-sr .sz-basefoot a:hover { text-decoration: underline; }
.sz-footlogo img { display: block; margin: 8px auto 12px; max-width: 405px; }
@media (max-width: 980px) {
  .sz-intro-grid { grid-template-columns: 1fr; gap: 24px; }
  .sz-intro-fig { max-width: 342px; margin: 0 auto; }
  .sz-intro-copy h3 { font-size: 19px; line-height: 24.7px; }
  .sz-cta .sz-in { gap: 18px; }
  .sz-dirgrid-4, .sz-dirgrid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .sz-sizegrid, .sz-dirgrid-4, .sz-dirgrid-5,
  .sz-dirheads-2 { grid-template-columns: 1fr; }
}
/* ---------------------------------------------------------------------------
 * LEGAL / SOCIAL BAR (#et-footer-nav)
 *
 * Reproduces live's Divi footer bottom. Ids reused so the social plugin's own
 * wp_head CSS flexes .container and lays the discs out -- only the ground and
 * the link colour are ours, because those come from Divi's stylesheet and a
 * shell page never loads it.
 *
 * Values MEASURED on live 2026-09-17, composited:
 *   #main-footer            rgb(34,34,34)
 *   + #et-footer-nav        rgba(255,255,255,.05)
 *   = effective ground      rgb(45,45,45)
 *   legal link colour       #BBBBBB @ 16px  -> contrast 7.17
 *   social disc             44px, 50% radius, #003A60 ground, white glyph -> 11.84
 *
 * The ground is written as a solid rgb(45,45,45) rather than #222 + a 5% overlay:
 * one layer, same painted result, and nothing to composite wrongly.
 * ------------------------------------------------------------------------- */
#arbor-sr #et-footer-nav { background: rgb(45, 45, 45); padding: 14px 0; }
#arbor-sr #et-footer-nav .container {
  max-width: var(--hp-wrap);
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 24px;
}
#arbor-sr #et-footer-nav .container::before,
#arbor-sr #et-footer-nav .container::after { display: none; }
/* CONTAINER OVERRIDES for the bar -- these style content INSIDE #et-footer-nav
   and must stay after the block above, same rule as the rest of this sheet. */
#arbor-sr #et-footer-nav .bottom-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 22px;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
}
#arbor-sr #et-footer-nav .bottom-nav li { margin: 0; padding: 0; }
#arbor-sr #et-footer-nav .bottom-nav a {
  color: #BBBBBB;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
}
#arbor-sr #et-footer-nav .bottom-nav a:hover { color: #fff; text-decoration: underline; }
#arbor-sr .as-footer-social-list { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
#arbor-sr .as-footer-social-list li { margin: 0; padding: 0; }
#arbor-sr .as-footer-social-link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--hp-navy); color: #fff; text-decoration: none;
}
@media (max-width: 640px) {
  #arbor-sr #et-footer-nav .container { justify-content: center; }
  #arbor-sr #et-footer-nav .bottom-nav { margin: 0; justify-content: center; }
}
