/*
Theme Name: BuildPress Child — Clean Refresh
Template: buildpress
Author: Sunroom Pros
Description: Clean, modern refresh of the BuildPress design. Keeps every page,
  layout, and ACF/Page Builder content 100% intact — only the visual layer
  (type, color, spacing, buttons, chrome) is modernized.
Version: 1.1.1
*/

/* ============================================================
   Clean Refresh — visual overrides only, no structural change
   Parent palette: gold #f7c51e / dark #333 / washed body #999
   Refresh: crisper gold, real ink, roomier type, flat buttons
   ============================================================ */

:root{
  --gold:#F2B705;          /* refined, slightly warmer gold */
  --gold-deep:#D99A00;     /* hover / accents on light */
  --ink:#242A32;           /* headings */
  --body:#43494F;          /* body text — was a washed #999 */
  --muted:#6B7178;
  --line:#E7E7E2;
  --bg-soft:#F7F7F4;
  --navy:#2B333C;          /* top bar / footer chrome */
}

/* ---- Typography: bigger, darker, roomier ---- */
body{
  font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif !important;
  font-size:16.5px !important;
  line-height:1.7 !important;
  color:var(--body) !important;
  -webkit-font-smoothing:antialiased;
}
p{ margin-bottom:1.15em; }
h1,h2,h3,h4,h5,h6,
.main-title h1,.main-title h2{
  font-family:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif !important;
  color:var(--ink) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
h1{ font-size:2.35rem !important; letter-spacing:-.01em; }
h2{ font-size:1.85rem !important; }
h3{ font-size:1.35rem !important; }
a{ color:var(--gold-deep); }
a:hover,a:focus{ color:var(--ink); }

/* ---- Buttons: flat, rounded, confident (kills gradients) ---- */
.btn{
  border-radius:8px !important;
  font-family:"Raleway",Helvetica,Arial,sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  text-shadow:none !important;
  box-shadow:none !important;
  padding:12px 26px !important;
  transition:transform .15s ease,background-color .15s ease,color .15s ease !important;
  border:2px solid transparent !important;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary,.btn-cta,
.btn-primary:visited{
  background:var(--gold) !important;
  background-image:none !important;
  border-color:var(--gold) !important;
  color:#3A2B00 !important;
}
.btn-primary:hover,.btn-primary:focus,.btn-cta:hover{
  background:var(--gold-deep) !important;
  border-color:var(--gold-deep) !important;
  color:#2A2000 !important;
}
.btn-default,.btn-ghost{
  background:transparent !important;
  background-image:none !important;
  border-color:var(--navy) !important;
  color:var(--navy) !important;
}
.btn-default:hover{ background:var(--navy) !important; color:#fff !important; }

/* ---- Top bar: solid, legible (was a dark gradient) ---- */
.top-bar,.top-bar-wrapper,#top-bar,.header-top{
  background:var(--navy) !important;
  background-image:none !important;
  color:#D7DBDF !important;
  border:0 !important;
}
.top-bar a,.header-top a{ color:#fff !important; }

/* ---- Header: cooler solid chrome + legible LIGHT title ----
   (parent .header is #454545 and .logo h1 is light; our global heading
   color must NOT darken the title against the dark header) ---- */
.header{
  background-color:var(--navy) !important;
  background-image:none !important;
}
.logo h1,.logo h1 a,.logo a{ color:#fff !important; }
.header-widgets,.header-widgets a,
.icon-box__title,.icon-box__subtitle,.icon-box__text{ color:#D7DBDF !important; }
.header-widgets a:hover{ color:var(--gold) !important; }
.navbar-default,.navbar-collapse{
  background:#fff !important;
  background-image:none !important;
  box-shadow:0 1px 0 var(--line);
}

/* ---- Primary nav: modern weight + gold active ---- */
.navbar-nav > li > a{
  font-family:"Raleway",Helvetica,Arial,sans-serif !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  font-size:15px !important;
}
.navbar-nav > li > a:hover,
.navbar-nav > li.active > a,
.navbar-nav > li.current-menu-item > a{
  color:var(--gold-deep) !important;
  background:transparent !important;
}

/* ---- Main title / breadcrumb band: soften ---- */
.main-title{
  background:var(--bg-soft) !important;
  background-image:none !important;
  border-bottom:1px solid var(--line) !important;
}
.breadcrumb{ background:transparent !important; }

/* ---- Service / feature cards (SiteOrigin + theme) ---- */
.panel,.thumbnail,.service-box,.feature-box,.widget{
  border-radius:10px;
  border-color:var(--line) !important;
}
img{ border-radius:6px; }
.slider img,.essential-grid img,.rev-slider img{ border-radius:0; } /* leave sliders sharp */

/* ---- Section rhythm: a touch more air ---- */
.panel-grid{ margin-bottom:8px; }
.main-content,.content-area{ padding-top:6px; }

/* ---- Footer: cleaner dark ---- */
.footer,.site-footer,.footer-wrapper{
  background:var(--navy) !important;
  background-image:none !important;
  color:#AEB4BA !important;
}
.footer a,.site-footer a{ color:#E2E5E8 !important; }
.footer a:hover{ color:var(--gold) !important; }
.footer-bottom{ background:#232A31 !important; color:#8B9299 !important; }

/* ---- Forms (Contact Form 7): modern inputs ---- */
input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select,
.wpcf7 input,.wpcf7 textarea{
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  padding:11px 13px !important;
  box-shadow:none !important;
  font-size:16px !important;
}
input:focus,textarea:focus,select:focus,
.wpcf7 input:focus,.wpcf7 textarea:focus{
  border-color:var(--gold) !important;
  outline:none !important;
}
.wpcf7 input[type=submit]{
  background:var(--gold) !important; color:#3A2B00 !important;
  border:0 !important; border-radius:8px !important; font-weight:700 !important;
  padding:12px 28px !important;
}

/* ---- Kill leftover dated gradients globally (safe blanket) ---- */
.btn,.top-bar,.main-title,.navbar-default,.jumbotron,.panel-heading{
  background-image:none !important;
}

/* ============================================================
   Headings on DARK backgrounds must stay LIGHT
   (our global h1-h6 ink color would otherwise go dark-on-dark)
   ============================================================ */

/* Hero slider / jumbotron ONLY (always on a dark photo overlay).
   NOTE: .banner__text is also reused in LIGHT panel bands, so we must NOT
   blanket-whiten it — scope white strictly to the hero (.jumbotron). */
.jumbotron,
.jumbotron h1,.jumbotron h2,.jumbotron h3,.jumbotron h4,.jumbotron h5,.jumbotron h6,.jumbotron p,
.jumbotron__category,.jumbotron__category h6,
.jumbotron .banner__text,.jumbotron .banner__text *,
.carousel-content,.carousel-content *,
.carousel-caption,.carousel-caption h1,.carousel-caption h2,.carousel-caption h3{
  color:#fff !important;
}
/* Ghost/outline button on the dark hero (e.g. "Current Specials") */
.jumbotron .btn-default,.carousel-content .btn-default{
  border-color:#fff !important; color:#fff !important; background:transparent !important;
}
.jumbotron .btn-default:hover,.carousel-content .btn-default:hover{
  background:#fff !important; color:var(--ink) !important;
}
/* keep the hero PRIMARY button dark-on-gold (blanket white must not catch it) */
.jumbotron .btn-primary,.carousel-content .btn-primary,
.jumbotron .btn-primary *,.carousel-content .btn-primary *{
  color:#3A2B00 !important;
}
/* Banners on LIGHT panel bands keep readable dark text */
.banner__text{ color:var(--body); }
[style*="background-color:#eeeeee"] .banner__text,[style*="background-color:#eeeeee"] .banner__text *,
[style*="background-color: #eeeeee"] .banner__text,[style*="background-color:#f2f2f2"] .banner__text{
  color:var(--ink) !important;
}
/* Banners on DARK panel rows stay white */
[style*="background-color:#454545"] .banner__text,[style*="background-color:#454545"] .banner__text *,
[style*="background-color: #454545"] .banner__text,[style*="background-color: #454545"] .banner__text *{
  color:#fff !important;
}

/* Footer widget headings */
.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,
.footer .widget-title,.footer__headings,.footer-bottom h1,.footer-bottom h2,.footer-bottom h3{
  color:#fff !important;
}

/* Page Builder rows the author gave a DARK background (#454545 / #333 / navy) */
[style*="background-color:#454545"] h1,[style*="background-color:#454545"] h2,
[style*="background-color:#454545"] h3,[style*="background-color:#454545"] h4,
[style*="background-color:#454545"] h5,[style*="background-color:#454545"] p,
[style*="background-color: #454545"] h1,[style*="background-color: #454545"] h2,
[style*="background-color: #454545"] h3,[style*="background-color: #454545"] h4,
[style*="background-color: #454545"] h5,[style*="background-color: #454545"] p,
[style*="background-color:#333"] h1,[style*="background-color:#333"] h2,
[style*="background-color:#333"] h3,[style*="background-color:#333"] h4,
[style*="background-color: #333"] h2,[style*="background-color: #333"] h3{
  color:#fff !important;
}

/* ---- Accessibility: visible focus ---- */
a:focus-visible,.btn:focus-visible,button:focus-visible{
  outline:3px solid var(--gold) !important; outline-offset:2px;
}

/* ---- Spam-hardened contact form ---- */
.la-contact label{ font-weight:600; color:inherit; display:block; }
.la-contact input[type=text],.la-contact input[type=email],.la-contact input[type=tel],
.la-contact textarea{ width:100%; max-width:520px; margin-top:4px; }
.la-contact .btn-primary{ margin-top:6px; }
.footer .la-contact label{ color:#E2E5E8 !important; }
.la-form-msg{ border-radius:8px; padding:12px 16px; margin-bottom:14px; font-weight:600; }
.la-form-msg.la-ok{ background:#EAF6EC; color:#22633A; border:1px solid #BCE0C6; }
.la-form-msg.la-err{ background:#FBEDED; color:#8E2B2D; border:1px solid #EBC6C7; }

/* ---- Custom footer (rebuilt sites without footer widgets) ---- */
.srp-footer{ padding:52px 0 34px !important; }
.srp-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
@media (max-width:860px){ .srp-footer-grid{ grid-template-columns:1fr; gap:28px; } }
.srp-footer .srp-fcol h3{ color:#fff !important; font-size:1.05rem !important; margin-bottom:14px; letter-spacing:.02em; }
.srp-footer .srp-fcol p{ color:#AEB4BA; margin-bottom:14px; }
.srp-footer .srp-fmenu{ list-style:none; padding:0; margin:0; }
.srp-footer .srp-fmenu li{ margin-bottom:9px; }
.srp-footer .srp-fmenu a{ color:#C9CFDA; text-decoration:none; }
.srp-footer .srp-fmenu a:hover{ color:var(--gold); }
.srp-footer .srp-fphone a{ color:var(--gold) !important; font-family:"Raleway",sans-serif; font-size:1.5rem; font-weight:700; text-decoration:none; }
.srp-footer .btn-default{ border-color:#5a6472 !important; color:#E2E5E8 !important; margin-top:4px; }
.srp-footer .btn-default:hover{ background:#fff !important; color:var(--navy) !important; }

/* footer primary button keeps dark-on-gold (footer link color must not win) */
.footer .btn-primary,.srp-footer .btn-primary{ color:#3A2B00 !important; }
.footer .btn-primary:hover,.srp-footer .btn-primary:hover{ color:#2A2000 !important; }

/* contact form selects match the inputs */
.la-contact select{ width:100%; max-width:520px; margin-top:4px; border:1.5px solid var(--line) !important; border-radius:8px !important; padding:11px 13px !important; font-size:16px !important; background:#fff; }
.la-contact select:focus{ border-color:var(--gold) !important; outline:none !important; }

/* header phone widget — make the NUMBER big & bold. The sites are configured
   inconsistently (some put the number in __title, some in __subtitle, some add a
   "Phone"/"Call Now" label), so we style BOTH slots big to guarantee a big number.
   Root font-size is 10px here, so rem*10 = px. */
.header .widget-icon-box .icon-box, .header .icon-box{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.header .icon-box__text{ line-height:1.2; }
.header .icon-box__title,
.header .icon-box__subtitle{ display:block; font-size:1.75rem !important; font-weight:700 !important; color:#fff !important; opacity:1 !important; letter-spacing:.01em; text-transform:none; }
.header .icon-box__icon .fa-phone{ font-size:1.9rem; color:var(--gold); }
