/* Naqvi Law Firm — shared theme styles (extracted so every page loads this ONE cached file instead of ~470 lines of inline CSS each). */

      .pb_float_contact {
        position: fixed;
        right: 22px;
        bottom: 22px;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 12px;
      }
      .pb_float_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        color: #fff;
        text-decoration: none;
        box-shadow: 0 6px 18px rgba(0,0,0,0.28);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }
      .pb_float_btn:hover,
      .pb_float_btn:focus {
        transform: translateY(-3px) scale(1.05);
        box-shadow: 0 10px 24px rgba(0,0,0,0.35);
        color: #fff;
        text-decoration: none;
      }
      .pb_float_btn.whatsapp { background-color: #25D366; }
      .pb_float_btn.call { background-color: #FDA04F; }
      .pb_float_btn svg { width: 28px; height: 28px; fill: #fff; }
      .pb_float_label {
        font-size: 12px;
        color: #fff;
        background: rgba(0,0,0,0.65);
        padding: 3px 10px;
        border-radius: 12px;
        margin-bottom: -4px;
      }
      @media (max-width: 576px) {
        .pb_float_contact { right: 14px; bottom: 14px; gap: 10px; }
        .pb_float_btn { width: 50px; height: 50px; }
        .pb_float_btn svg { width: 24px; height: 24px; }
      }
      .pb_hero_actions .btn { margin: 6px 8px 6px 0; }
      .pb_hero_actions .btn i, .pb_hero_actions .btn svg { margin-right: 8px; vertical-align: -2px; }
      .pb_contact_details_v1 a { color: inherit; }
      .pb_contact_details_v1 a:hover { text-decoration: underline; }
      #contactform .form-group { margin-bottom: 1rem; }
      #contactform label { font-weight: 600; }
      .form-required { color: #c0392b; }

      /* Membership popup — black & gold theme */
      .pb_membership_overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.78);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
        font-family: 'Montserrat', sans-serif;
      }
      .pb_membership_overlay[hidden] { display: none; }
      .pb_membership_modal {
        position: relative;
        background: linear-gradient(160deg, #1a1a1a 0%, #0d0d0d 100%);
        max-width: 640px;
        width: 100%;
        border: 1px solid #c9a24a;
        border-radius: 4px;
        padding: 46px 40px 36px;
        box-shadow: 0 25px 70px rgba(0,0,0,0.55), 0 0 0 1px rgba(201,162,74,0.15) inset;
        text-align: center;
        animation: pb_pop_in 0.3s ease;
        color: #f1f1f1;
      }
      @keyframes pb_pop_in {
        from { transform: scale(0.94); opacity: 0; }
        to { transform: scale(1); opacity: 1; }
      }
      .pb_membership_close {
        position: absolute;
        top: 14px;
        right: 16px;
        background: none;
        border: 1px solid rgba(201,162,74,0.4);
        border-radius: 50%;
        width: 32px;
        height: 32px;
        font-size: 20px;
        line-height: 1;
        color: #c9a24a;
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease;
      }
      .pb_membership_close:hover { background: #c9a24a; color: #1a1a1a; }
      .pb_membership_eyebrow {
        text-transform: uppercase;
        letter-spacing: 3px;
        font-size: 11px;
        color: #c9a24a;
        margin-bottom: 10px;
      }
      .pb_membership_modal h3 {
        margin-top: 0;
        margin-bottom: 6px;
        font-family: 'Crimson Text', serif;
        font-weight: 600;
        font-size: 30px;
        color: #ffffff;
      }
      .pb_membership_modal .pb_deadline {
        color: #d8b567;
        font-weight: 400;
        font-size: 14px;
        letter-spacing: 0.4px;
        margin-bottom: 28px;
      }
      .pb_membership_tiers {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        justify-content: center;
        margin-bottom: 30px;
      }
      .pb_tier_card {
        flex: 1 1 150px;
        max-width: 190px;
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(201,162,74,0.35);
        border-radius: 4px;
        padding: 22px 14px;
        transition: border-color 0.2s ease, background 0.2s ease;
      }
      .pb_tier_card:hover {
        border-color: #c9a24a;
        background: rgba(201,162,74,0.06);
      }
      .pb_tier_card h4 {
        margin: 0 0 8px;
        font-family: 'Crimson Text', serif;
        font-size: 18px;
        font-weight: 600;
        color: #e8c877;
        text-transform: uppercase;
        letter-spacing: 1px;
      }
      .pb_tier_card p {
        margin: 0;
        font-size: 12px;
        color: #b8b8b8;
      }
      .pb_membership_actions .btn-gold {
        display: inline-block;
        background: linear-gradient(135deg, #e8c877 0%, #b8862f 100%);
        color: #1a1a1a;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-size: 13px;
        padding: 14px 38px;
        border-radius: 0;
        text-decoration: none;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }
      .pb_membership_actions .btn-gold:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(201,162,74,0.35);
        color: #1a1a1a;
        text-decoration: none;
      }

/* Card / button hover polish */
      /* Slight extra polish: smooth hover lift on cards/buttons */
      .pb_card_v1, .btn, .media pb_media_v1, .pb_tier_card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
      .pb_card_v1:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(0,0,0,0.12); }
      .btn:hover { transform: translateY(-2px); }
      /* Respect users who prefer reduced motion */
      @media (prefers-reduced-motion: reduce) {
        [data-aos] { transition: none !important; transform: none !important; opacity: 1 !important; }
      }

/* Core theme tokens, navbar, hero, cards, forms, footer, service grid */
      :root{
        --nlf-navy: #0f2238;
        --nlf-navy-deep: #0a1826;
        --nlf-charcoal: #1c2733;
        --nlf-gold: #c9a24a;
        --nlf-gold-light: #e8c877;
        --nlf-cream: #f7f5f1;
        --nlf-ink: #1d2126;
        --nlf-muted: #6b7280;
        --nlf-radius: 6px;
      }

      html{ scroll-behavior: smooth; }
      body{
        color: var(--nlf-ink);
        background: var(--nlf-cream);
        font-family: 'Montserrat', sans-serif;
        -webkit-font-smoothing: antialiased;
      }
      h1,h2,h3,h4,h5,h6{ font-family: 'Crimson Text', serif; letter-spacing: 0.2px; }

      /* ---------- Eyebrow labels ---------- */
      .nlf-eyebrow{
        display: inline-block;
        font-family: 'Montserrat', sans-serif;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--nlf-gold);
        margin-bottom: 10px;
      }
      .nlf-eyebrow::before{ content: "— "; color: var(--nlf-gold-light); }
      section[data-section] .text-white.nlf-eyebrow{ color: var(--nlf-gold-light); }

      /* ---------- Section headings ---------- */
      .heading-border-top{
        position: relative;
        padding-top: 22px;
        font-weight: 600;
        font-size: 2.1rem;
      }
      .heading-border-top::before{
        content: "";
        position: absolute;
        top: 0; left: 50%;
        transform: translateX(-50%);
        width: 60px; height: 3px;
        background: linear-gradient(90deg, var(--nlf-gold), var(--nlf-gold-light));
      }
      .col-lg-5 .heading-border-top::before,
      .col-lg-7 .heading-border-top::before{ left: 0; transform: none; }
      .text-center .heading-border-top::before,
      .justify-content-md-center .heading-border-top::before{ left: 50%; transform: translateX(-50%); }

      /* ---------- Navbar ---------- */
      .pb_navbar{
        background: rgba(15,34,56,0.92) !important;
        backdrop-filter: blur(6px);
        transition: box-shadow 0.3s ease, background 0.3s ease, padding 0.3s ease;
        padding-top: 18px; padding-bottom: 18px;
      }
      .pb_navbar.nlf-scrolled{
        box-shadow: 0 6px 24px rgba(0,0,0,0.25);
        padding-top: 10px; padding-bottom: 10px;
      }
      .nlf-logo{
        display: flex;
        align-items: center;
        padding: 0 !important;
        margin-right: 30px;
      }
      .nlf-logo-img{
        height: 60px;
        width: auto;
        transition: height 0.3s ease;
      }
      .pb_navbar.nlf-scrolled .nlf-logo-img{ height: 46px; }
      .pb_navbar .nav-link{
        color: rgba(255,255,255,0.85) !important;
        font-size: 12.5px;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 8px 16px !important;
        transition: color 0.2s ease;
        position: relative;
      }
      .pb_navbar .nav-link:hover,
      .pb_navbar .nav-link.active{ color: var(--nlf-gold-light) !important; }

      /* ---------- Buttons ---------- */
      .btn{
        border-radius: 999px;
        font-weight: 600;
        letter-spacing: 1px;
        font-size: 12.5px;
        text-transform: uppercase;
        padding: 13px 30px;
        border: 0;
      }
      .btn-consult{
        background: linear-gradient(135deg, var(--nlf-gold-light), var(--nlf-gold));
        color: var(--nlf-navy-deep) !important;
        box-shadow: 0 8px 22px rgba(201,162,74,0.35);
      }
      .btn-consult:hover{ box-shadow: 0 12px 28px rgba(201,162,74,0.5); color: var(--nlf-navy-deep) !important; }
      .btn-whatsapp{ background: #25D366; color: #fff !important; }
      .btn-call{ background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,0.55) !important; }
      .btn-call:hover{ border-color: #fff !important; background: rgba(255,255,255,0.08) !important; }
      .pb_outline-dark{ border: 1.5px solid var(--nlf-navy) !important; color: var(--nlf-navy) !important; background: transparent; }
      .pb_outline-dark:hover{ background: var(--nlf-navy) !important; color: #fff !important; }
      .pb_outline-light{ border: 1.5px solid rgba(255,255,255,0.6) !important; color: #fff !important; background: transparent; }
      .pb_outline-light:hover{ background: #fff !important; color: var(--nlf-navy) !important; }

      /* ---------- Hero ---------- */
      .pb_cover_v1{ position: relative; }
      /* Dark overlay for text readability — lightened on the left so the
         NLF crest watermark in the background photo actually shows through
         instead of disappearing into near-black. */
      .pb_cover_v1::after{
        content: "";
        position: absolute; inset: 0;
        background: linear-gradient(100deg, rgba(10,24,38,0.18) 20%, rgba(10,24,38,0.38) 65%, rgba(10,24,38,0.58) 100%);
        z-index: 1;
      }
      /* Animated spotlight: sweeps in over the crest on page load, then
         settles into a slow ambient pulse so the logo stays prominent. */
      .pb_cover_v1::before{
        content: "";
        position: absolute; inset: 0;
        z-index: 2;
        background: radial-gradient(circle at 26% 46%,
          rgba(214,58,48,0.55) 0%,
          rgba(214,58,48,0.28) 26%,
          rgba(201,162,74,0.16) 48%,
          transparent 70%);
        opacity: 0;
        transform: scale(0.82);
        animation:
          nlf-hero-glow-in 1.8s cubic-bezier(0.22,0.68,0.32,1) 0.2s forwards,
          nlf-hero-glow-pulse 4.5s ease-in-out 2.2s infinite;
        pointer-events: none;
      }
      @keyframes nlf-hero-glow-in{
        from{ opacity: 0; transform: scale(0.82); }
        to{ opacity: 1; transform: scale(1); }
      }
      @keyframes nlf-hero-glow-pulse{
        0%, 100%{ opacity: 0.8; }
        50%{ opacity: 1; }
      }
      @media (prefers-reduced-motion: reduce){
        .pb_cover_v1::before{ animation: none; opacity: 0.85; transform: scale(1); }
      }
      .pb_cover_v1 .container{ position: relative; z-index: 3; }
      .pb_cover_v1 .heading{
        font-size: 3.4rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.15;
      }
      .pb_cover_v1 .sub-heading p{ color: rgba(255,255,255,0.82); font-size: 1.08rem; font-weight: 300; max-width: 34em; }

      /* ---------- Cards ---------- */
      .pb_card_v1{
        border: none !important;
        border-radius: var(--nlf-radius);
        background: #fff;
        box-shadow: 0 4px 18px rgba(15,34,56,0.08);
        overflow: hidden;
        position: relative;
      }
      .pb_card_v1::before{
        content: "";
        position: absolute; top: 0; left: 0; right: 0; height: 3px;
        background: linear-gradient(90deg, var(--nlf-gold), var(--nlf-gold-light));
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease;
      }
      .pb_card_v1:hover::before{ transform: scaleX(1); }
      .pb_card_v1 .card-body{ padding: 28px 20px 30px; }
      .pb_card_v1 .card-title{ font-weight: 600; }
      .pb_card_v1 img.rounded-circle{ border: 3px solid var(--nlf-cream); box-shadow: 0 0 0 1px rgba(201,162,74,0.3); margin-top: 24px; }

      /* ---------- Icon badges ---------- */
      .pb_media_v1 .icon, .pb_media_v2 .icon{
        background: var(--nlf-navy) !important;
        border: none !important;
        color: var(--nlf-gold-light) !important;
        width: 64px; height: 64px;
      }
      .pb_media_v1 .icon i, .pb_media_v2 .icon i{ font-size: 26px; }
      .pb_icon_v1{ color: var(--nlf-gold); }

      /* ---------- Accordion ---------- */
      .pb_accordion .item{ border-bottom: 1px solid rgba(0,0,0,0.08); }
      .pb_accordion a{ color: var(--nlf-navy); font-weight: 600; }
      .pb_accordion a:hover{ color: var(--nlf-gold); text-decoration: none; }

      /* ---------- Sections with dark backgrounds ---------- */
      .bg-image.with-overlay{ position: relative; }
      .bg-image.with-overlay::before{
        content: "";
        position: absolute; inset: 0;
        background: linear-gradient(180deg, rgba(10,24,38,0.88), rgba(10,24,38,0.82));
      }
      .bg-image.with-overlay .container{ position: relative; z-index: 2; }

      /* ---------- Forms ---------- */
      .form-control{
        border-radius: var(--nlf-radius);
        border: 1px solid rgba(15,34,56,0.15);
        padding: 12px 14px;
        height: auto;
      }
      .form-control:focus{ border-color: var(--nlf-gold); box-shadow: 0 0 0 3px rgba(201,162,74,0.15); }
      #contactform .btn{ background: var(--nlf-navy) !important; color: #fff !important; }
      #contactform .btn:hover{ background: var(--nlf-navy-deep) !important; }
      .pb_contact_details_v1{ list-style: none; padding: 0; }
      .pb_contact_details_v1 li{ padding: 14px 0; border-bottom: 1px solid rgba(15,34,56,0.08); }
      .pb_contact_details_v1 span{ display: block; font-size: 11px; letter-spacing: 2px; color: var(--nlf-gold); font-weight: 700; margin-bottom: 4px; }

      /* ---------- Testimonials ---------- */
      .pb_testimonial_v1 blockquote{ font-family: 'Crimson Text', serif; font-style: italic; font-size: 1.15rem; color: var(--nlf-ink); }
      .pb_testimonial_v1 .pb_author{ font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 700; letter-spacing: 1px; color: var(--nlf-navy); }
      .pb_testimonial_v1 img.rounded-circle{ border: 3px solid var(--nlf-gold-light); }

      /* ---------- Footer ---------- */
      .pb_footer{
        background: var(--nlf-navy-deep) !important;
        color: rgba(255,255,255,0.7);
        padding: 40px 0;
      }
      .pb_footer a{ color: rgba(255,255,255,0.85); }
      .pb_footer a:hover{ color: var(--nlf-gold-light); }
      .pb_footer .list-inline-item a{
        display: inline-flex; align-items: center; justify-content: center;
        width: 40px; height: 40px; border-radius: 50%;
        border: 1px solid rgba(255,255,255,0.2);
        transition: border-color 0.2s ease, color 0.2s ease;
      }
      .pb_footer .list-inline-item a:hover{ border-color: var(--nlf-gold); }

      /* Case status card header */
      #section-dailycases .card-header.bg-warning{
        background: linear-gradient(135deg, var(--nlf-gold-light), var(--nlf-gold)) !important;
        color: var(--nlf-navy-deep) !important;
        border: none;
      }
      #section-dailycases .btn-warning{
        background: var(--nlf-navy) !important;
        border: none !important;
        color: #fff !important;
        border-radius: var(--nlf-radius);
      }
      #section-dailycases .btn-warning:hover{ background: var(--nlf-navy-deep) !important; }

      /* ---------- All-services grid ---------- */
      .nlf-services-section{ background: #fff; }
      .nlf-service-card{
        background: var(--nlf-cream);
        border-radius: var(--nlf-radius);
        padding: 30px 20px;
        text-align: center;
        height: 100%;
        transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
        border: 1px solid rgba(15,34,56,0.06);
      }
      .nlf-service-card:hover{
        transform: translateY(-6px);
        box-shadow: 0 14px 30px rgba(15,34,56,0.12);
        background: #fff;
      }
      .nlf-service-icon{
        width: 68px; height: 68px;
        margin: 0 auto 18px;
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg, var(--nlf-navy), var(--nlf-navy-deep));
        color: var(--nlf-gold-light);
        font-size: 26px;
        box-shadow: 0 8px 18px rgba(15,34,56,0.18);
      }
      .nlf-service-card h3{
        font-family: 'Montserrat', sans-serif;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: 0.2px;
        color: var(--nlf-ink);
        margin: 0;
      }

      @media (max-width: 767px){
        .pb_cover_v1 .heading{ font-size: 2.3rem; }
        .heading-border-top{ font-size: 1.7rem; }
      }

      /* ---------- Performance: lazy-loaded section backgrounds ---------- */
      .nlf-lazybg{
        background-color: var(--nlf-navy-deep);
        background-size: cover;
        background-position: center;
      }
      .nlf-lazybg.nlf-bg-loaded{
        transition: opacity 0.4s ease;
      }

/* ---------- Service card links (index page grid) ---------- */
.nlf-service-card-link{
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.nlf-service-card-link:hover,
.nlf-service-card-link:focus{ color: inherit; text-decoration: none; }
.nlf-service-card{ cursor: pointer; }
.nlf-service-card .nlf-service-arrow{
  display: inline-block;
  margin-top: 10px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--nlf-gold);
  font-weight: 700;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.nlf-service-card:hover .nlf-service-arrow{ opacity: 1; transform: translateY(0); }

/* ---------- Service detail pages ---------- */
.nlf-service-hero{
  position: relative;
  padding: 150px 0 70px;
  background: linear-gradient(160deg, var(--nlf-navy) 0%, var(--nlf-navy-deep) 100%);
  color: #fff;
  overflow: hidden;
}
.nlf-service-hero::after{
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 85% 20%, rgba(201,162,74,0.18), transparent 55%);
  pointer-events: none;
}
.nlf-service-hero .container{ position: relative; z-index: 2; }
.nlf-service-hero .nlf-service-hero-icon{
  width: 78px; height: 78px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--nlf-gold-light), var(--nlf-gold));
  color: var(--nlf-navy-deep);
  font-size: 30px;
  margin-bottom: 22px;
  box-shadow: 0 10px 26px rgba(201,162,74,0.35);
}
.nlf-service-hero h1{
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0 0 14px;
}
.nlf-service-hero p.lead{
  color: rgba(255,255,255,0.82);
  font-size: 1.08rem;
  font-weight: 300;
  max-width: 40em;
  margin: 0;
}
.nlf-breadcrumb{
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 18px;
}
.nlf-breadcrumb a{ color: rgba(255,255,255,0.85); }
.nlf-breadcrumb a:hover{ color: var(--nlf-gold-light); }

.nlf-service-body h2.nlf-sub-heading{
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.nlf-includes-list{
  list-style: none;
  padding: 0;
  margin: 0;
}
.nlf-includes-list li{
  position: relative;
  padding: 10px 0 10px 32px;
  border-bottom: 1px solid rgba(15,34,56,0.08);
}
.nlf-includes-list li:last-child{ border-bottom: none; }
.nlf-includes-list li::before{
  content: "\f00c";
  font-family: FontAwesome;
  position: absolute;
  left: 0; top: 10px;
  color: var(--nlf-gold);
}

.nlf-booking-card{
  background: #fff;
  border-radius: var(--nlf-radius);
  box-shadow: 0 12px 40px rgba(15,34,56,0.12);
  padding: 34px 30px;
  border-top: 4px solid var(--nlf-gold);
}
.nlf-booking-card h3{
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 6px;
}
.nlf-booking-card p.nlf-booking-note{
  font-size: 13px;
  color: var(--nlf-muted);
  margin-bottom: 22px;
}
.nlf-booking-card .btn-whatsapp{
  width: 100%;
  border-radius: var(--nlf-radius);
  padding: 14px 20px;
}
.nlf-booking-success{
  display: none;
  background: rgba(37,211,102,0.1);
  border: 1px solid rgba(37,211,102,0.4);
  color: #1c7a3d;
  padding: 14px 16px;
  border-radius: var(--nlf-radius);
  font-size: 13.5px;
  margin-top: 16px;
}
.nlf-booking-success.show{ display: block; }
.nlf-other-services{ background: var(--nlf-cream); }
