/*
 Theme Name: North NJ Plumbing Divi 5 Child Clear Fixed
 Theme URI: https://example.com/
 Description: Clean, stable Divi 5 child theme with a safe importer for the North Jersey plumbing website.
 Author: Samson
 Author URI: https://example.com/
 Template: Divi
 Version: 2.0.0
 Text Domain: north-nj-plumbing-divi5-child-clear-fixed
*/

:root {
  --plumb-navy: #0e2f5a;
  --plumb-navy-2: #143d73;
  --plumb-blue: #2f87ff;
  --plumb-light: #f3f6fb;
  --plumb-border: #d9e4f1;
  --plumb-text: #17314f;
  --plumb-muted: #5d7188;
  --plumb-white: #ffffff;
}

body { color: var(--plumb-text); }

.plumb-hero-section,
.plumb-dark-section,
.plumb-final-cta,
.plumb-header-layout,
.plumb-footer-layout { background-color: var(--plumb-navy); }

.plumb-hero-section {
  background-image: linear-gradient(90deg, rgba(14,47,90,.94) 0%, rgba(14,47,90,.88) 45%, rgba(14,47,90,.72) 100%), url('assets/hero-plumber.jpg');
  background-size: cover;
  background-position: center;
}

.plumb-hero-section .et_pb_row,
.plumb-white-section .et_pb_row,
.plumb-light-section .et_pb_row,
.plumb-dark-section .et_pb_row,
.plumb-final-cta .et_pb_row,
.plumb-header-layout .et_pb_row,
.plumb-footer-layout .et_pb_row {
  width: 90%;
  max-width: 1220px;
}

.plumb-hero-copy,
.plumb-hero-copy h1,
.plumb-hero-copy p,
.plumb-hero-copy a,
.plumb-dark-copy,
.plumb-dark-copy h2,
.plumb-dark-copy p,
.plumb-final-copy,
.plumb-final-copy h2,
.plumb-final-copy p,
.plumb-final-copy a,
.plumb-header-copy,
.plumb-header-copy a,
.plumb-header-copy strong,
.plumb-header-copy span,
.plumb-footer-copy,
.plumb-footer-copy h3,
.plumb-footer-copy p,
.plumb-footer-copy li,
.plumb-footer-copy a,
.plumb-highlight-card,
.plumb-highlight-card h3,
.plumb-highlight-card p,
.plumb-highlight-card a {
  color: var(--plumb-white) !important;
}

.plumb-hero-copy .plumb-eyebrow,
.plumb-section-kicker {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(47,135,255,.14);
  color: #8cc0ff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 18px;
}

.plumb-hero-copy h1,
.plumb-intro h2,
.plumb-dark-copy h2,
.plumb-final-copy h2 { font-size: clamp(34px, 4vw, 64px); line-height: 1.04; margin-bottom: 18px; }
.plumb-intro h2,.plumb-dark-copy h2,.plumb-final-copy h2 { font-size: clamp(28px, 3vw, 44px); }
.plumb-hero-copy h1 span,.plumb-intro h2 span { color: #57a9ff; }
.plumb-hero-copy p,.plumb-intro p,.plumb-dark-copy p,.plumb-final-copy p,.plumb-card p,.plumb-faq p,.plumb-footer-copy p,.plumb-header-copy p,.plumb-panel p,.plumb-testimonial p,.plumb-step p { font-size: 16px; line-height: 1.8; opacity: .96; }

.plumb-btns { display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.plumb-btn,.plumb-btn-outline { display:inline-flex; align-items:center; justify-content:center; padding:14px 24px; border-radius:10px; font-weight:700; text-decoration:none !important; }
.plumb-btn { background: var(--plumb-blue); color:#fff !important; }
.plumb-btn-outline { border: 1px solid rgba(255,255,255,.55); color:#fff !important; }

.plumb-form-card .et_pb_text_inner,
.plumb-card .et_pb_text_inner,
.plumb-panel .et_pb_text_inner,
.plumb-faq .et_pb_text_inner,
.plumb-testimonial .et_pb_text_inner,
.plumb-step .et_pb_text_inner {
  background: var(--plumb-white);
  border: 1px solid var(--plumb-border);
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(16,43,79,.08);
}
.plumb-form-card .et_pb_text_inner { padding: 30px; }
.plumb-card .et_pb_text_inner,.plumb-panel .et_pb_text_inner,.plumb-testimonial .et_pb_text_inner,.plumb-step .et_pb_text_inner,.plumb-faq .et_pb_text_inner { padding: 24px; }

.plumb-form-card h3,.plumb-card h3,.plumb-panel h3,.plumb-testimonial h3,.plumb-step h3,.plumb-footer-copy h3 { font-size: 24px; line-height:1.25; color:var(--plumb-text); margin-bottom:12px; }
.plumb-card h3,.plumb-panel h3,.plumb-step h3 { font-size: 22px; }
.plumb-card h3 a,.plumb-inline-link,.plumb-link-list a,.plumb-header-nav a,.plumb-footer-copy a { text-decoration:none; }
.plumb-card h3 a,.plumb-inline-link,.plumb-link-list a { color: var(--plumb-text) !important; }
.plumb-inline-link { font-weight: 700; }

.plumb-check-list,.plumb-link-list,.plumb-footer-copy ul { list-style:none; padding:0; margin:16px 0 0; }
.plumb-check-list li,.plumb-link-list li,.plumb-footer-copy li { margin:0 0 10px; position:relative; padding-left:18px; }
.plumb-check-list li::before,.plumb-link-list li::before,.plumb-footer-copy li::before { content:"•"; color: var(--plumb-blue); position:absolute; left:0; top:0; }

.plumb-mini-bar .et_pb_text_inner { text-align:center; font-weight:700; font-size:15px; }
.plumb-intro.centered .et_pb_text_inner,.plumb-dark-copy.centered .et_pb_text_inner,.plumb-final-copy.centered .et_pb_text_inner { text-align:center; }

.plumb-highlight-card .et_pb_text_inner {
  min-height: 240px; padding:28px; border-radius:18px; position:relative; overflow:hidden;
  background-size:cover; background-position:center;
}
.plumb-highlight-card .et_pb_text_inner::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,47,90,.28), rgba(14,47,90,.72)); }
.plumb-highlight-card .et_pb_text_inner > * { position:relative; z-index:1; }
.plumb-highlight-card.residential .et_pb_text_inner { background-image:url('assets/bathroom-modern.jpg'); }
.plumb-highlight-card.commercial .et_pb_text_inner { background-image:url('assets/commercial-plumbing.jpg'); }

.plumb-topbar { text-align:center; font-weight:700; font-size:14px; }
.plumb-header-brand span,.plumb-footer-brand span { display:block; font-size:13px; opacity:.85; }
.plumb-header-nav { display:flex; gap:18px; justify-content:center; flex-wrap:wrap; font-weight:700; }
.plumb-header-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.plumb-header-actions a { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:10px; text-decoration:none; }
.plumb-header-actions .primary { background: var(--plumb-blue); }
.plumb-header-actions .outline { border:1px solid rgba(255,255,255,.45); }
.plumb-muted { color: var(--plumb-muted) !important; }
.plumb-footer-note { border-top:1px solid rgba(255,255,255,.12); margin-top:22px; padding-top:18px; font-size:14px; opacity:.86; }

@media (max-width: 980px) {
  .plumb-hero-copy h1,.plumb-intro h2,.plumb-dark-copy h2,.plumb-final-copy h2 { font-size: clamp(30px, 7vw, 48px); }
  .plumb-header-actions,.plumb-header-nav,.plumb-btns { justify-content:center; }
}
