/* Perfect Jurists — Brand Overrides */

/* ── CSS Variables ─────────────────────────────────────────────────────── */
:root {
  /* Override template primary/secondary with PJ brand */
  --primary:     #B8963E;  /* Brand Gold  */
  --secondary:   #7B2D3E;  /* Chambers Red */
  --light:       #F5F1EA;  /* Parchment */
  --dark:        #0D1B2A;  /* Brand Navy */

  /* Extended PJ palette */
  --pj-navy:     #0D1B2A;
  --pj-gold:     #B8963E;
  --pj-parchment:#F5F1EA;
  --pj-ink:      #1A1A1A;
  --pj-burgundy: #7B2D3E;
  --pj-grey:     #8C8880;
  --pj-cream:    #F0E4C3;
  --pj-forest:   #1E4035;
  --pj-n50:      #FAFAF8;
  --pj-n100:     #F0EDE6;
  --pj-n200:     #DDD9D0;
  --pj-n400:     #A5A099;
  --pj-n600:     #6B6760;
  --pj-n800:     #2E2B26;
  --pj-n900:     #1A1814;
}

/* ── Google Fonts imports (loaded via @import for self-contained CSS) ─── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Playfair+Display:wght@500;600&family=DM+Sans:wght@400;500&family=Source+Serif+4:wght@400&display=swap');

/* ── Typography ────────────────────────────────────────────────────────── */
body {
  font-family: 'DM Sans', sans-serif;
  color: var(--pj-n800);
  background-color: var(--pj-parchment);
}

h1, h2 {
  font-family: 'Playfair Display', serif;
  color: var(--pj-ink);
}

h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  color: var(--pj-ink);
}

.display-hero {
  font-family: 'Cormorant Garamond', serif;
}

/* ── Navbar ────────────────────────────────────────────────────────────── */

/* Mobile: always solid navy (nav is in-flow, not overlaying anything) */
@media (max-width: 991.98px) {
  .navbar-dark {
    background: var(--pj-navy) !important;
  }
}

/* Desktop pre-scroll: transparent (template makes it position:absolute over hero/header) */
@media (min-width: 992px) {
  .navbar-dark {
    background: transparent !important;
    transition: background 0.3s ease;
  }
}

/* After scroll: solid navy on all screen sizes */
.sticky-top.navbar-dark {
  background: var(--pj-navy) !important;
  transition: background 0.3s ease;
}

/* Brand mark — gold on both states */
.navbar-dark .navbar-brand h1,
.sticky-top.navbar-dark .navbar-brand h1 {
  color: var(--pj-gold) !important;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
}

/* Nav links — white on transparent & sticky states */
.navbar-dark .navbar-nav .nav-link {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.9) !important;
}

/* Override template's sticky link colour (it resets to dark) */
.sticky-top.navbar-dark .navbar-nav .nav-link {
  color: rgba(255,255,255,0.9) !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.sticky-top.navbar-dark .navbar-nav .nav-link:hover,
.sticky-top.navbar-dark .navbar-nav .nav-link.active {
  color: var(--pj-gold) !important;
}

.navbar-dark .navbar-nav .nav-link::before {
  background: var(--pj-gold);
}

/* ── Topbar ────────────────────────────────────────────────────────────── */
.topbar-bg {
  background: var(--pj-n900) !important;
}

/* ── Carousel / Hero ───────────────────────────────────────────────────── */
.carousel-caption {
  background: rgba(13, 27, 42, 0.75);
}

.carousel-caption h5 {
  font-family: 'DM Sans', sans-serif;
  color: var(--pj-gold);
  letter-spacing: 0.12em;
}

.carousel-caption h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.btn-primary {
  background: var(--pj-gold);
  border-color: var(--pj-gold);
  color: var(--pj-navy);
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #a07832;
  border-color: #a07832;
  color: var(--pj-navy);
}

.btn-outline-light:hover {
  color: var(--pj-navy);
}

/* ── Facts / Stats bar ─────────────────────────────────────────────────── */
.facts .bg-primary {
  background: var(--pj-navy) !important;
}

/* ── Section titles ────────────────────────────────────────────────────── */
.section-title h5 {
  font-family: 'DM Sans', sans-serif;
  color: var(--pj-gold) !important;
  letter-spacing: 0.08em;
}

.section-title::before {
  background: var(--pj-gold);
}

/* ── Service cards ─────────────────────────────────────────────────────── */
.service-item .service-icon {
  background: var(--pj-navy);
}

.service-item:hover {
  background: var(--pj-navy) !important;
  color: #fff;
}

.service-item:hover h4,
.service-item:hover p {
  color: #fff !important;
}

/* ── Blog ──────────────────────────────────────────────────────────────── */
.blog-item .blog-img a {
  background: var(--pj-gold) !important;
}

/* ── Footer ────────────────────────────────────────────────────────────── */
.footer-dark {
  background: var(--pj-navy) !important;
}

.footer-bottom {
  background: var(--pj-n900) !important;
}

.section-title-sm::before {
  background: var(--pj-gold);
}

/* ── Back to top ───────────────────────────────────────────────────────── */
.back-to-top {
  background: var(--pj-gold);
  border-color: var(--pj-gold);
  color: var(--pj-navy);
}

.back-to-top:hover {
  background: var(--pj-navy);
  border-color: var(--pj-navy);
  color: var(--pj-gold);
}

/* ── Owl carousel dots ─────────────────────────────────────────────────── */
.testimonial-carousel .owl-dot.active {
  background: var(--pj-gold);
}

/* ── Page header (inner pages) ─────────────────────────────────────────── */
.page-header {
  background: linear-gradient(rgba(13, 27, 42, 0.82), rgba(13, 27, 42, 0.82)),
              url('../img/template/carousel-1.jpg') center center no-repeat;
  background-size: cover;
  /* Mobile: nav is in-flow, no overlap needed */
  padding: 60px 0 50px;
}

/* Desktop: nav is position:absolute (~70px tall), push content well clear of it */
@media (min-width: 992px) {
  .page-header {
    padding: 140px 0 90px;
  }
}

.page-header h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.6rem;
  color: #fff;
}

.page-header .breadcrumb-item a,
.page-header .breadcrumb-item.active {
  color: rgba(255,255,255,0.7);
}

.page-header .breadcrumb-item + .breadcrumb-item::before {
  color: var(--pj-gold);
}

/* ── Carousel caption — shift vertical centre down past the navbar ──────── */
@media (min-width: 992px) {
  .carousel-caption {
    padding-top: 100px;
  }
}

/* ── Practice area cards ───────────────────────────────────────────────── */
.practice-card {
  background: var(--pj-n100);
  border: 1px solid var(--pj-n200);
  border-top: 4px solid var(--pj-gold);
  border-radius: 4px;
  padding: 2rem 1.75rem;
  transition: box-shadow .3s;
  height: 100%;
}

.practice-card:hover {
  box-shadow: 0 8px 30px rgba(13, 27, 42, 0.1);
}

.practice-card h4 {
  font-family: 'Playfair Display', serif;
  color: var(--pj-navy);
  font-size: 1.15rem;
  margin-bottom: .75rem;
}

.practice-card p {
  font-size: .9rem;
  color: var(--pj-n600);
  line-height: 1.7;
}

/* ── Pro bono / legal aid ──────────────────────────────────────────────── */
.pro-bono-section {
  background: linear-gradient(135deg, var(--pj-navy) 0%, #1E3A5F 100%);
  color: #fff;
}

.pro-bono-section h2,
.pro-bono-section h3 {
  color: #fff;
}

/* ── Contact form ──────────────────────────────────────────────────────── */
.contact-form-wrap {
  background: var(--pj-navy);
  border-radius: 6px;
  padding: 2.5rem;
}

.contact-form-wrap .form-control {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
}

.contact-form-wrap .form-control::placeholder {
  color: rgba(255,255,255,0.45);
}

.contact-form-wrap .form-control:focus {
  background: rgba(255,255,255,0.12);
  border-color: var(--pj-gold);
  box-shadow: none;
  color: #fff;
}

/* ── Blog post content ─────────────────────────────────────────────────── */
.blog-post-body {
  font-family: 'Source Serif 4', serif;
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--pj-n800);
}

.blog-post-body h2,
.blog-post-body h3 {
  font-family: 'Playfair Display', serif;
  color: var(--pj-navy);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.blog-post-body blockquote {
  border-left: 4px solid var(--pj-gold);
  padding: 1rem 1.5rem;
  background: var(--pj-n100);
  font-style: italic;
  color: var(--pj-n600);
  margin: 1.5rem 0;
}

/* ── Tag / badge ───────────────────────────────────────────────────────── */
.tag-badge {
  background: var(--pj-cream);
  color: var(--pj-burgundy);
  font-size: .75rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 50px;
  letter-spacing: .03em;
  display: inline-block;
}

/* ── Utilities ─────────────────────────────────────────────────────────── */
.text-gold { color: var(--pj-gold) !important; }
.text-navy { color: var(--pj-navy) !important; }
.bg-navy   { background: var(--pj-navy) !important; }
.bg-parchment { background: var(--pj-parchment) !important; }
.border-gold  { border-color: var(--pj-gold) !important; }

/* body background reset to white for content areas */
.section-light {
  background: var(--pj-parchment);
}
.section-white {
  background: #fff;
}
