/* ============================================================
   ROOFWORX — UNIVERSAL BRAND STYLESHEET
   Palette: Slate & Copper
   Paste into: Elementor → ≡ (top-left) → Site Settings → Custom CSS
   This loads on EVERY page including header, footer, nav, and blog.
   ============================================================ */

:root{
  --rwx-slate:#141A1F;
  --rwx-slate-2:#22303B;
  --rwx-gold:#C8A24B;
  --rwx-gold-dk:#A8842F;
  --rwx-cream:#F7F5F1;
  --rwx-ink:#22282C;
  --rwx-muted:#6B7580;
  --rwx-line:#E5E1DA;
  --rwx-brick:#8C3B2E;
}

/* ---------- KILL ALL RED SITEWIDE ---------- */
/* Replaces any inherited red with brand copper */
a{ color:var(--rwx-gold-dk); }
a:hover{ color:var(--rwx-gold); }
h1,h2,h3,h4,h5,h6{ color:var(--rwx-slate); }
.elementor-heading-title{ color:var(--rwx-slate); }

/* ---------- TYPOGRAPHY ---------- */
body{
  font-family:'Source Sans 3','Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--rwx-ink);
  line-height:1.65;
  font-size:17px;
}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:800;
  letter-spacing:-.4px;
  line-height:1.18;
}
h1{ font-size:2.9em; }
h2{ font-size:2.1em; }
h3{ font-size:1.35em; font-weight:700; }

/* ---------- BUTTONS (global) ---------- */
.wp-block-button__link,
.elementor-button,
button:not(#rwx-btn),
input[type=submit]{
  background:var(--rwx-gold)!important;
  color:var(--rwx-slate)!important;
  border:none!important;
  border-radius:6px!important;
  font-family:'Montserrat',sans-serif!important;
  font-weight:700!important;
  letter-spacing:.4px!important;
  padding:15px 30px!important;
  text-transform:uppercase;
  font-size:.92em!important;
  transition:all .2s ease!important;
  box-shadow:0 2px 8px rgba(200,162,75,.25);
}
.wp-block-button__link:hover,
.elementor-button:hover,
button:not(#rwx-btn):hover,
input[type=submit]:hover{
  background:var(--rwx-gold-dk)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(200,162,75,.35);
}

/* ---------- HEADER / NAV ---------- */
header, .site-header, .elementor-location-header{
  background:var(--rwx-slate)!important;
  box-shadow:0 2px 12px rgba(20,26,31,.15);
}
header a, .site-header a,
.elementor-location-header a,
.elementor-nav-menu a,
.elementor-nav-menu--main .elementor-item{
  color:#E4E9ED!important;
  font-family:'Montserrat',sans-serif!important;
  font-weight:600!important;
  letter-spacing:.3px;
  text-transform:uppercase;
  font-size:.88em!important;
}
header a:hover, .site-header a:hover,
.elementor-nav-menu a:hover,
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:var(--rwx-gold)!important;
}
/* Mobile menu panel */
.elementor-nav-menu--dropdown{
  background:var(--rwx-slate)!important;
}
.elementor-nav-menu--dropdown a{
  color:#E4E9ED!important;
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* ---------- FOOTER ---------- */
footer, .site-footer, .elementor-location-footer{
  background:#0E1317!important;
  color:#7E8993!important;
}
footer a, .site-footer a, .elementor-location-footer a{
  color:var(--rwx-gold)!important;
}

/* ---------- PAGE BODY / CONTENT ---------- */
.site-main, .page-content, .entry-content{
  background:#fff;
}
body{ background:var(--rwx-cream); }

/* Content width + breathing room on inner pages */
.entry-content > *{
  max-width:840px;
  margin-left:auto;
  margin-right:auto;
}
.entry-content > .alignwide,
.entry-content > .alignfull,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-html{
  max-width:1140px;
}

/* ---------- SEPARATORS ---------- */
hr, .wp-block-separator{
  border:none;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--rwx-gold),transparent);
  max-width:220px;
  margin:44px auto;
  opacity:.8;
}

/* ---------- LISTS ---------- */
.entry-content ul{ list-style:none; padding-left:0; }
.entry-content ul li{
  padding:8px 0 8px 30px;
  position:relative;
}
.entry-content ul li:before{
  content:'\2713';
  position:absolute;
  left:0;
  color:var(--rwx-gold);
  font-weight:800;
}
.entry-content ol{ padding-left:22px; }
.entry-content ol li{ padding:7px 0; }
.entry-content ol li::marker{ color:var(--rwx-gold); font-weight:800; }

/* ---------- COLUMNS AS CARDS (service/feature blocks) ---------- */
.entry-content .wp-block-columns .wp-block-column{
  background:#fff;
  border:1px solid var(--rwx-line);
  border-radius:12px;
  padding:28px 24px;
  box-shadow:0 2px 10px rgba(20,26,31,.05);
  transition:all .25s ease;
}
.entry-content .wp-block-columns .wp-block-column:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(20,26,31,.11);
  border-color:var(--rwx-gold);
}
.entry-content .wp-block-column h3{
  margin-top:0;
  color:var(--rwx-slate);
}

/* ---------- H1 PAGE TITLE TREATMENT ---------- */
.entry-content h1:first-child,
.page .entry-title,
.single .entry-title{
  color:var(--rwx-slate);
  padding-bottom:14px;
  position:relative;
}

/* ---------- BLOCKQUOTES ---------- */
blockquote{
  border-left:3px solid var(--rwx-gold);
  background:var(--rwx-cream);
  padding:20px 24px;
  border-radius:0 8px 8px 0;
  font-style:italic;
  color:var(--rwx-ink);
  margin:28px 0;
}

/* ---------- BLOG POSTS ---------- */
.post .entry-title a{ color:var(--rwx-slate)!important; }
.post .entry-title a:hover{ color:var(--rwx-gold-dk)!important; }
.entry-meta, .post-meta{ color:var(--rwx-muted); font-size:.9em; }

/* ---------- FORMS ---------- */
input[type=text],input[type=email],input[type=tel],
input[type=number],textarea,select{
  border:1px solid var(--rwx-line)!important;
  border-radius:6px!important;
  padding:12px!important;
  font-family:inherit!important;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--rwx-gold)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(200,162,75,.15)!important;
}

/* ---------- SMALL PRINT / DISCLAIMERS ---------- */
small{ color:var(--rwx-muted); line-height:1.6; }

/* ---------- MOBILE ---------- */
@media(max-width:768px){
  body{ font-size:16px; }
  h1{ font-size:2em; }
  h2{ font-size:1.55em; }
  h3{ font-size:1.2em; }
  .entry-content .wp-block-columns{ gap:16px; }
  .wp-block-button__link,.elementor-button{
    width:100%;
    text-align:center;
  }
  hr,.wp-block-separator{ margin:32px auto; }
}
/* ============================================
   DARK MODE — SITEWIDE
   ============================================ */

html body,
html body .site,
html body .site-main,
html body .page-content,
html body .entry-content,
html body article,
html body main{
  background-color:#141A1F !important;
}

/* All body copy → light */
html body .entry-content p,
html body .entry-content p *,
html body .entry-content li,
html body .entry-content li *,
html body .entry-content span,
html body .entry-content div,
html body .site-main p,
html body .site-main li,
html body article p,
html body article li{
  color:#DDE3E8 !important;
  -webkit-text-fill-color:#DDE3E8 !important;
}

/* Headings → white */
html body .site-main h1,
html body .site-main h2,
html body .site-main h3,
html body .site-main h4,
html body .site-main h5,
html body .site-main h6,
html body .entry-content h1,
html body .entry-content h2,
html body .entry-content h3,
html body .entry-title{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* Bold / emphasis → gold */
html body .entry-content strong,
html body .entry-content b{
  color:#C8A24B !important;
  -webkit-text-fill-color:#C8A24B !important;
}

/* Links → gold */
html body .entry-content a,
html body .entry-content p a,
html body .entry-content li a{
  color:#C8A24B !important;
  -webkit-text-fill-color:#C8A24B !important;
  text-decoration:underline;
}
html body .entry-content a:hover{ color:#E0BC69 !important; -webkit-text-fill-color:#E0BC69 !important; }

/* Small print */
html body .entry-content small,
html body .entry-content small *{
  color:#95A1AB !important;
  -webkit-text-fill-color:#95A1AB !important;
}

/* Columns as dark cards */
html body .entry-content .wp-block-columns .wp-block-column{
  background:#1B242B !important;
  border:1px solid #2E3A44 !important;
  border-radius:12px;
  padding:28px 24px;
}
html body .entry-content .wp-block-columns .wp-block-column:hover{
  border-color:#C8A24B !important;
}

/* Buttons keep gold-on-dark */
html body .wp-block-button__link,
html body .elementor-button{
  background:#C8A24B !important;
  color:#141A1F !important;
  -webkit-text-fill-color:#141A1F !important;
  text-decoration:none !important;
}
html body .wp-block-button__link:hover,
html body .elementor-button:hover{
  background:#A8842F !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* Blockquote */
html body blockquote{
  background:#1B242B !important;
  border-left:3px solid #C8A24B !important;
}

/* Forms */
html body input[type=text],html body input[type=email],
html body input[type=tel],html body input[type=number],
html body textarea,html body select{
  background:#1B242B !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border:1px solid #3D4B54 !important;
}

/* Separators */
html body hr,html body .wp-block-separator{
  background:linear-gradient(90deg,transparent,#C8A24B,transparent) !important;
}

/* Homepage sections that were light → dark */
html body .rwx-sec-light,
html body .rwx-sec-white{
  background:#141A1F !important;
}
html body .rwx-sec-light h2,
html body .rwx-sec-white h2{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .rwx-sec .rwx-lead{ color:#AEB9C2 !important; -webkit-text-fill-color:#AEB9C2 !important; }

/* Service cards → dark */
html body .rwx-card{
  background:#1B242B !important;
  border-color:#2E3A44 !important;
}
html body .rwx-card h3{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .rwx-card p{ color:#AEB9C2 !important; -webkit-text-fill-color:#AEB9C2 !important; }
html body .rwx-card a{ color:#C8A24B !important; -webkit-text-fill-color:#C8A24B !important; }

/* Transparent-pricing card → dark */
html body .rwx-price{ background:#1B242B !important; }
html body .rwx-price h2{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body .rwx-price .rwx-plead{ color:#AEB9C2 !important; -webkit-text-fill-color:#AEB9C2 !important; }
html body .rwx-price .rwx-perk{
  background:#141A1F !important;
  color:#DDE3E8 !important;
  -webkit-text-fill-color:#DDE3E8 !important;
}

/* Gold financing band keeps dark text (intentional contrast) */
html body .rwx-fin h2,
html body .rwx-fin p{ color:#141A1F !important; -webkit-text-fill-color:#141A1F !important; }
html body .rwx-price .rwx-badge{ color:#141A1F !important; -webkit-text-fill-color:#141A1F !important; }
html body #rwx-btn{ color:#0B0B0B !important; -webkit-text-fill-color:#0B0B0B !important; }

/* Hide theme's auto page title (content has its own H1) */
.page .entry-header,
.page .entry-title,
.page-header,
.elementor-page-title,
.entry-header .entry-title{
  display:none !important;
}

/* Hide WordPress.com gift banner */
.wpcom-gifting-banner,
.wpcom-site-notice,
.is-gifting-banner,
div[class*="gifting"]{
  display:none !important;
}
