/* ============================================================
   Custom CSS — Walsh Law Firm
   Project-specific styles. Do NOT edit template CSS directly.

   Load order in <head>:
     1. assets/css/animate.css
     2. assets/css/tabler-icons.min.css
     3. assets/css/bootstrap.min.css
     4. assets/css/swiper-bundle.min.css
     5. style.css       (Lawgis main)
     6. mainstyle.css   (Clay utility — pre-deployed)
     7. brand.css       (TODO — created in /template-adapt brand-css)
     8. custom.css      (this file)

   Brand palette (see .dwight/site-orient.json):
     --color-white:    #FFFFFF
     --color-gold:     #A48200
     --color-text:     #1A1A1A
     --color-cream:    #F7F4EA
     --color-muted:    #8A8378
     --color-gold-hov: #C8A951

   Theme rule: bright / white-dominant. Avoid Lawgis's darker tones.
   ============================================================ */


/* ============================================================
   FOOTER COMPONENT (layout/polish — brand colors live in brand.css)
   ============================================================ */
.footer-area { padding: 64px 0 24px; }
.footer-area .footer-widget { margin-bottom: 24px; }
.footer-widget-title {
  color: #FFFFFF;
  font-size: 1.125rem;
  margin-bottom: 14px;
}
.footer-nap {
  font-style: normal;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  margin: 16px 0;
}
.footer-nav { list-style: none; padding: 0; margin: 0; }
.footer-nav li { margin-bottom: 8px; }
.footer-social { margin-top: 8px; }
.footer-social a {
  display: inline-flex;
  width: 40px; height: 40px;
  align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.20);
  border-radius: 50%;
  color: #FFFFFF;
  font-size: 1.125rem;
}
.footer-social a:hover {
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color: #FFFFFF;
}
.footer-disclaimer p {
  color: var(--brand-muted);
  font-size: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 20px;
  margin-top: 32px;
}
.footer-bottom { margin-top: 8px; }
.footer-copy { color: var(--brand-muted); font-size: 0.8125rem; margin: 0; }
.footer-copy a { color: rgba(255, 255, 255, 0.70); }

/* ============================================================
   HEADER NAV — spacing + CTA overlap fix (home review 2026-05-26)
   ============================================================ */
@media (min-width: 992px) {
  .header-area .navbar-nav { gap: 18px; flex-wrap: nowrap; }
  .header-area .navbar-nav li > a { font-size: 0.95rem; white-space: nowrap; }
  .header-area .navbar-collapse > .d-flex { margin-left: 28px; flex: 0 0 auto; }
  .header-area .btn-primary { white-space: nowrap; }
}
@media (min-width: 1200px) {
  .header-area .navbar-nav { gap: 26px; }
}


/* ============================================================
   ATTORNEY DETAIL (at-) — bio wysiwyg subheads (CSS1, 2026-06-22)
   Sits between the H2 profile heading (1.8rem) and credential H3s (1.3rem).
   ============================================================ */
.at-bio h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: #1A1A1A;
  font-size: 1.45rem;
  line-height: 1.25;
  margin: 28px 0 10px;
}
.at-bio h3:first-child { margin-top: 0; }


/* ===== faqs.php (fq-) — moved from inline per CSS1 (W3, 2026-06-22) ===== */
.fq-item{border:1px solid #EFE9D8;border-radius:12px;margin-bottom:14px;background:#FFFFFF;overflow:hidden;box-shadow:0 8px 24px rgba(26,26,26,.04);}
.fq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;font-family:'Mulish',sans-serif;font-weight:700;color:#1A1A1A;font-size:1.1rem;}
.fq-item summary::-webkit-details-marker{display:none;}
.fq-item summary .fq-ico{color:#A48200;font-size:1.3rem;transition:transform .2s ease;flex:none;}
.fq-item[open] summary .fq-ico{transform:rotate(45deg);}
.fq-body{padding:0 26px 24px;font-family:'Mulish',sans-serif;color:#3a3a3a;line-height:1.85;}
.fq-body p{margin:0 0 6px;}
.fq-body ol{margin:8px 0 0;padding-left:20px;}
.fq-body ol li{margin-bottom:10px;}
.fq-group{margin-bottom:38px;}
.fq-group-h{font-family:'Playfair Display',serif;font-weight:700;color:#1A1A1A;font-size:1.5rem;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid #EFE9D8;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;}
.fq-group-link{font-family:'Mulish',sans-serif;font-weight:700;font-size:.8rem;color:#A48200;text-decoration:none;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}

/* ============================================================
   index.php home (hm-) — moved from inline per CSS1 (2026-06-22)
   ============================================================ */
  /* HERO */
  .hm-hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:#fff;}
  .hm-hero__bg{position:absolute;inset:0;background-image:url('images/ButlerCountyCourthouse.jpg');background-size:cover;background-position:center;z-index:0;}
  .hm-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.45) 70%,rgba(255,255,255,.12) 100%);}
  .hm-hero__inner{position:relative;z-index:3;padding:6rem 0;}
  .hm-hero__eyebrow{font-family:"Mulish",sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-gold);font-size:.85rem;margin-bottom:1rem;}
  .hm-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;font-weight:900;color:var(--brand-black);margin-bottom:1.25rem;}
  .hm-hero__sub{font-size:1.15rem;color:#333;max-width:36rem;margin-bottom:2rem;}
  .hm-hero__cutouts{position:absolute;right:0;bottom:0;z-index:2;height:96%;display:flex;align-items:flex-end;pointer-events:none;}
  .hm-hero__cutouts img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(-8px 12px 20px rgba(0,0,0,.18));}
  .hm-hero__cutouts img+img{margin-left:-40px;}
  @media (max-width:991px){.hm-hero__cutouts{display:none;}.hm-hero__overlay{background:rgba(255,255,255,.86);}}
  .hm-btn-call{background:var(--brand-black);border:2px solid var(--brand-black);color:#fff;font-weight:700;}
  .hm-btn-call:hover{background:#000;border-color:#000;color:var(--brand-gold-hover);}

  /* SECTION SCAFFOLD */
  .hm-sec{padding:5rem 0;}
  .hm-eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-gold);font-size:.8rem;font-family:"Mulish",sans-serif;}
  .hm-rule{width:64px;height:3px;background:var(--brand-gold);border:0;opacity:1;margin:1rem 0 1.5rem;}

  /* TRUST BAND */
  .hm-trust{background:var(--brand-white);}
  .hm-trust__list{list-style:none;padding:0;margin:0;}
  .hm-trust__list li{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;font-size:1.05rem;color:#222;}
  .hm-trust__list .ti{color:var(--brand-gold);font-size:1.4rem;flex:0 0 auto;margin-top:.1rem;}

  /* PRACTICE GRID */
  .hm-practice{background:var(--brand-cream);}
  .hm-card{background:#fff;border:1px solid #ece7d8;border-radius:6px;padding:2.25rem 1.75rem;height:100%;transition:transform .2s ease,box-shadow .2s ease;}
  .hm-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(26,26,26,.08);}
  .hm-card .ti{font-size:2.6rem;color:var(--brand-gold);line-height:1;}
  .hm-card h3{font-size:1.3rem;margin:1rem 0 .6rem;}
  .hm-card p{color:#555;font-size:.97rem;margin:0;}
  .hm-card a.stretched-link{color:var(--brand-black);text-decoration:none;}

  /* RESULTS BAND */
  .hm-results{background:var(--brand-black);color:#fff;text-align:center;}
  .hm-results h2{color:#fff;font-size:clamp(2rem,4vw,3rem);}
  .hm-results p{color:rgba(255,255,255,.82);max-width:56rem;margin:1rem auto 2rem;text-wrap:balance;}

  /* LOCAL ROOTS */
  .hm-roots__img{border-radius:6px;width:100%;height:100%;object-fit:cover;min-height:320px;}

  /* TESTIMONIALS */
  .hm-tst{background:var(--brand-cream);}
  .hm-quote{background:#fff;border-radius:6px;padding:2rem;height:100%;border-top:4px solid var(--brand-gold);}
  .hm-quote blockquote{font-family:"Playfair Display",serif;font-size:1.2rem;line-height:1.5;color:var(--brand-black);margin:0 0 1rem;}
  .hm-quote .ti{color:var(--brand-gold);}
  .hm-quote cite{font-style:normal;font-weight:700;color:var(--brand-muted);font-size:.9rem;}

  /* CTA FORM */
  .hm-cta{background:var(--brand-white);}
  .hm-form-card{background:var(--brand-cream);border-radius:8px;padding:2.25rem;}
  .hm-contact-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:var(--brand-black);text-decoration:none;}
  .hm-contact-row small{color:var(--brand-muted);}
  .hm-contact-ico{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--brand-gold);font-size:1.4rem;border:1px solid #ece7d8;}
  a.hm-contact-row:hover .hm-contact-ico{background:var(--brand-gold);color:#fff;}
  .hm-hp{position:absolute;left:-9999px;}

/* ============================================================
   results.php (rs-) — moved from inline per CSS1 (2026-06-22)
   ============================================================ */
.rs-filter{font-family:'Mulish',sans-serif;font-weight:700;font-size:.9rem;padding:9px 18px;border:1px solid #E2DAC6;border-radius:999px;background:#FFFFFF;color:#1A1A1A;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;}
.rs-filter.active,.rs-filter:hover{background:#A48200;color:#FFFFFF;border-color:#A48200;}
.rs-filter--type{font-size:.8rem;padding:6px 14px;}
.rs-filterlbl{font-family:'Mulish',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8A8378;font-size:.7rem;align-self:center;margin-right:4px;}

/* ============================================================
   practice-area.php mini-FAQ (pa-) — moved from inline per CSS1 (2026-06-22)
   ============================================================ */
details.pa-faq > summary{list-style:none;}
details.pa-faq > summary::-webkit-details-marker{display:none;}
details.pa-faq[open] .pa-faq__chevron{transform:rotate(180deg);}

/* ============================================================
   cta.php sitewide CTA band (cta-) — extracted from inline per CSS1 (2026-06-22)
   ============================================================ */
.cta-band{background:#A48200;padding:62px 0;}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.cta-copy{max-width:46rem;}
.cta-eyebrow{font-family:'Mulish',sans-serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#FBF3D9;font-size:.8rem;margin:0 0 8px;}
.cta-heading{font-family:'Playfair Display',serif;font-weight:900;color:#FFFFFF;font-size:2rem;margin:0 0 8px;text-wrap:balance;}
.cta-text{font-family:'Mulish',sans-serif;color:#FBF3D9;font-size:1.1rem;margin:0;text-wrap:pretty;}
.cta-btn{display:inline-block;background:#1A1A1A;color:#FFFFFF;font-family:'Mulish',sans-serif;font-weight:700;padding:15px 34px;border-radius:4px;text-decoration:none;white-space:nowrap;}

/* ============================================================
   insights.php hub + insights-detail.php (in-) — CSS1 / W5 (2026-06-22)
   ============================================================ */
.in-banner{background:linear-gradient(180deg,#F7F4EA 0%,#FFFFFF 100%);border-bottom:1px solid #EFE9D8;padding:130px 0 56px;}
.in-crumb{font-family:'Mulish',sans-serif;font-size:.9rem;color:#8A8378;margin-bottom:14px;}
.in-crumb a{color:#A48200;text-decoration:none;}
.in-crumb .sep{margin:0 8px;}
.in-eyebrow{font-family:'Mulish',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A48200;font-size:.8rem;margin-bottom:10px;}
.in-h1{font-family:'Playfair Display',serif;font-weight:900;color:#1A1A1A;font-size:clamp(2rem,4.4vw,3rem);margin:0;line-height:1.1;text-wrap:balance;}
.in-lead{font-family:'Mulish',sans-serif;color:#5b564c;font-size:1.05rem;margin:10px 0 0;text-wrap:pretty;}
.in-post-h1{font-family:'Playfair Display',serif;font-weight:900;color:#1A1A1A;font-size:clamp(1.8rem,3.8vw,2.6rem);margin:0;line-height:1.15;max-width:820px;text-wrap:balance;}
.in-meta{font-family:'Mulish',sans-serif;color:#8A8378;font-size:.95rem;margin:14px 0 0;}
.in-grid-sec{padding:60px 0 72px;background:#FFFFFF;}
.in-card{display:flex;flex-direction:column;height:100%;background:#FFFFFF;border:1px solid #EFE9D8;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(26,26,26,.06);}
.in-card__thumb{background:#F7F4EA;border-bottom:1px solid #EFE9D8;height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.in-card__thumb img{width:100%;height:100%;object-fit:cover;}
.in-card__thumb .ti{color:#A48200;font-size:2.4rem;}
.in-card__body{padding:24px 26px;display:flex;flex-direction:column;flex:1;}
.in-card__cat{font-family:'Mulish',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#A48200;font-size:.72rem;margin-bottom:10px;}
.in-card__title{font-family:'Playfair Display',serif;font-weight:700;color:#1A1A1A;font-size:1.3rem;line-height:1.3;margin:0 0 10px;}
.in-card__title a{color:#1A1A1A;text-decoration:none;}
.in-card__title a:hover{color:#A48200;}
.in-card__excerpt{font-family:'Mulish',sans-serif;color:#3a3a3a;line-height:1.7;font-size:.97rem;margin:0 0 18px;}
.in-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;}
.in-card__date{font-family:'Mulish',sans-serif;color:#8A8378;font-size:.85rem;}
.in-card__more{font-family:'Mulish',sans-serif;font-weight:700;color:#A48200;text-decoration:none;}
.in-empty{font-family:'Mulish',sans-serif;color:#8A8378;text-align:center;padding:40px 0;}
.in-post-sec{padding:56px 0 72px;background:#FFFFFF;}
.in-post-body{font-family:'Mulish',sans-serif;color:#3a3a3a;line-height:1.9;font-size:1.08rem;}
.in-post-body p{margin:0 0 18px;}
.in-post-back{margin-top:28px;padding-top:24px;border-top:1px solid #EFE9D8;}
.in-post-back a{font-family:'Mulish',sans-serif;font-weight:700;color:#A48200;text-decoration:none;}

/* ===== CONTACT (ct-) — moved from inline per CSS1 2026-06-23 ===== */
.ct-banner{background:linear-gradient(180deg,#F7F4EA 0%,#FFFFFF 100%);padding:130px 0 50px;border-bottom:1px solid #EFE9D8;}
.ct-crumb{font-family:'Mulish',sans-serif;font-size:.9rem;color:#8A8378;margin-bottom:14px;}
.ct-crumb a{color:#A48200;text-decoration:none;}
.ct-crumb span{margin:0 8px;}
.ct-eyebrow{font-family:'Mulish',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A48200;font-size:.8rem;margin-bottom:10px;}
.ct-h1{font-family:'Playfair Display',serif;font-weight:900;color:#1A1A1A;font-size:clamp(2rem,4.4vw,3rem);margin:0;line-height:1.1;}
.ct-sub{font-family:'Mulish',sans-serif;color:#5b564c;font-size:1.05rem;margin:10px 0 0;}
.ct-main{padding:60px 0 28px;background:#FFFFFF;}
.ct-form-title{font-family:'Playfair Display',serif;font-weight:700;color:#1A1A1A;font-size:1.6rem;margin:0 0 22px;}
.ct-form{font-family:'Mulish',sans-serif;}
.ct-field{width:100%;padding:13px 16px;border:1px solid #E2DAC6;border-radius:8px;background:#FFFFFF;font-size:1rem;color:#3a3a3a;font-family:'Mulish',sans-serif;}
.ct-field:focus{outline:none;border-color:#A48200;}
textarea.ct-field{resize:vertical;}
.ct-errors{margin-bottom:20px;padding:14px 16px;border:1px solid #A48200;background:#FBF6E6;color:#7a6100;font-family:'Mulish',sans-serif;font-size:.95rem;line-height:1.55;border-radius:8px;}
.ct-submit{display:inline-block;background:#A48200;color:#FFFFFF;font-family:'Mulish',sans-serif;font-weight:700;font-size:1.05rem;padding:15px 38px;border:none;border-radius:8px;cursor:pointer;}
.ct-submit:hover{background:#C8A951;}
.ct-disclaimer{color:#8A8378;font-size:.85rem;margin:14px 0 0;font-family:'Mulish',sans-serif;}
.ct-info{background:#F7F4EA;border:1px solid #EFE9D8;border-radius:14px;padding:32px 34px;}
.ct-info h2{font-family:'Playfair Display',serif;font-weight:700;color:#1A1A1A;font-size:1.4rem;margin:0 0 18px;}
.ct-info-body{font-family:'Mulish',sans-serif;color:#3a3a3a;line-height:1.7;}
.ct-info-row{margin:0 0 16px;display:flex;gap:12px;}
.ct-info-row i{color:#A48200;font-size:1.2rem;flex:none;}
.ct-info-row a{color:#1A1A1A;text-decoration:none;}
.ct-info-row a.gold{color:#A48200;}
.ct-info-row a.strong{font-weight:700;}
.ct-map{margin-top:20px;border-radius:12px;overflow:hidden;border:1px solid #E2DAC6;}
.ct-map iframe{border:0;display:block;width:100%;height:240px;}
.ct-strip-sec{padding:48px 0 72px;background:#FFFFFF;}
.ct-strip{background:#A48200;border-radius:16px;padding:40px 44px;text-align:center;}
.ct-strip h2{font-family:'Playfair Display',serif;font-weight:900;color:#FFFFFF;font-size:1.8rem;margin:0 0 8px;}
.ct-strip p{font-family:'Mulish',sans-serif;color:#FBF3D9;font-size:1.05rem;margin:0 0 18px;}
.ct-strip a{display:inline-block;background:#1A1A1A;color:#FFFFFF;font-family:'Mulish',sans-serif;font-weight:700;font-size:1.1rem;padding:14px 34px;border-radius:8px;text-decoration:none;}
.ct-honey{display:none;}
