/* Black Frog preview overrides for Dan Snyder Insurance Agency (insurance template) */

/* Native scrolling so scripted scroll and reveal animations behave */
html, :root { scroll-behavior: auto !important; }

/* Text logo (no logo file available) */
.logo-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 24px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -0.01em;
  white-space: nowrap;
  display: inline-block;
}
.logo-text span { color: var(--primary-color); font-weight: 600; }
.logo-text:hover { color: #fff; }
.footer-widget .logo-text { font-size: 26px; }
@media (max-width: 575px) { .logo .logo-text { font-size: 20px; } }

/* Header phone + quote */
.header-cta-2 ul { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.header-cta-2 ul li.header-phone a { color: #fff; font-weight: 600; white-space: nowrap; }
.header-cta-2 ul li.header-phone i { color: var(--primary-color); margin-right: 6px; }
.header-cta-2 .top-btn { white-space: nowrap; }

/* Mobile call button next to the menu toggle */
.mobile-call {
  position: absolute;
  top: -45px;
  right: 56px;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--primary-color);
  color: var(--secondary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  z-index: 10;
}
.second-menu .col-12 { position: relative; }

/* Hero */
.slider-content h1.hero-h {
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.15;
  margin-bottom: 30px;
  font-weight: 700;
  color: var(--title-text-color);
}
.slider-img .img img.hero-photo { width: 100%; height: 100%; object-fit: cover; min-height: 420px; }
@media (max-width: 767px) { .slider-img .img img.hero-photo { min-height: 300px; } }
.hero-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.hero-btns .btn { margin: 0 !important; }
.btn.btn-outline-call {
  background: transparent;
  border: 2px solid var(--secondary-color);
  color: var(--secondary-color);
}
.btn.btn-outline-call:hover { background: var(--secondary-color); color: #fff; }
.btn i.fa-phone { background: none !important; color: inherit !important; width: auto !important; height: auto !important; margin-right: 8px; transform: none; position: static; }
.slider-img .box a { line-height: 1.6; }

/* Facts boxes */
.counter-box-two.no-img .img {
  min-height: 300px;
  border-radius: 20px;
  background: var(--secondary-color);
}
.counter-box-two.no-img .text-count .number { color: var(--primary-color); font-size: 48px; }
.counter-box-two.no-img .text-count a { color: #fff; text-decoration: underline; }
.counter-box-one .text-count .number { font-size: 26px; }

/* About tabs illustration and carrier list */
.s-about-content .about-img img { max-width: 220px; width: 100%; }
.s-about-content .about-img { text-align: center; padding: 20px 0; }
.s-about-content ul.carrier-list li { font-weight: 600; }
.s-about-content ul li a { color: inherit; text-decoration: underline; }

/* Lines of insurance cards without placeholder images */
.services-icon-05.no-img { display: flex; justify-content: flex-end; min-height: 40px; }
.services-icon-05.no-img a { position: static; }

/* Carriers as text */
.carriers-row { text-align: center; }
.carriers-label { font-weight: 600; color: var(--secondary-color); margin-bottom: 18px; text-transform: uppercase; letter-spacing: 2px; font-size: 14px; }
.carrier-pills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.carrier-pills li {
  background: #fff;
  border: 1px solid rgba(28, 75, 66, 0.15);
  border-radius: 50px;
  padding: 10px 22px;
  font-weight: 700;
  color: var(--secondary-color);
  font-size: 17px;
}
.carrier-pills.big { justify-content: flex-start; }
.carrier-pills.big li { font-size: 20px; padding: 14px 26px; background: var(--sub-bg-color); }
.carriers-box { background: #fff; border: 1px solid rgba(28, 75, 66, 0.12); border-radius: 20px; padding: 50px; }
@media (max-width: 767px) { .carriers-box { padding: 28px 20px; } .carrier-pills.big li { font-size: 17px; padding: 10px 18px; } }

/* Office card (replaces template placeholder photos) */
.office-card {
  background: var(--secondary-color);
  color: #fff;
  border-radius: 20px;
  padding: 50px 44px;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.office-card h3 { color: #fff; font-size: 36px; margin-bottom: 24px; }
.office-card p { color: rgba(255, 255, 255, 0.85); font-size: 18px; }
.office-card ul { list-style: none; padding: 0; margin: 0 0 30px; position: relative; z-index: 2; }
.office-card ul li { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-size: 17px; line-height: 1.5; }
.office-card ul li i { color: var(--primary-color); width: 20px; margin-top: 4px; }
.office-card a { color: #fff; }
.office-card a:hover { color: var(--primary-color); }
.office-card .btn { position: relative; z-index: 2; }
.office-card .call-number { display: inline-block; font-size: 34px; font-weight: 700; color: var(--primary-color); margin: 6px 0 24px; }
.office-card .call-number i { font-size: 26px; margin-right: 10px; }
.office-card .office-art { position: absolute; right: 24px; bottom: 0; width: 150px; opacity: 0.25; z-index: 1; }
@media (max-width: 991px) { .office-card { margin-top: 30px; padding: 34px 24px; } .office-card .call-number { font-size: 28px; } }

/* Services page cards */
.line-card .services-content-05 p { margin: 10px 0 18px; }
.line-card .icon { margin-bottom: 10px !important; }
.line-list { list-style: none; padding: 0; margin: 0; }
.line-list li { position: relative; padding: 6px 0 6px 26px; font-weight: 500; color: var(--title-text-color); }
.line-list li::before { content: "\f00c"; font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free"; font-weight: 900; position: absolute; left: 0; top: 7px; color: var(--secondary-color); font-size: 14px; }
.services-box-05.line-card { height: 100%; }
.services-box-05.line-card .icon h4 { padding-right: 50px; }

/* Breadcrumb heading uses h1 for SEO, styled like the template h2 */
.breadcrumb-title h1.bc-h { font-size: 60px; margin-top: 25px; line-height: 1; color: #fff; letter-spacing: 1px; }
@media (max-width: 991px) { .breadcrumb-title h1.bc-h { font-size: 40px; } }
@media (max-width: 575px) { .breadcrumb-title h1.bc-h { font-size: 34px; margin-top: 10px; } }

/* About story */
.story ul { list-style: none; padding: 0; margin-top: 24px; }
.story ul li { padding: 6px 0 6px 26px; position: relative; font-weight: 600; color: var(--title-text-color); }
.story ul li::before { content: ""; position: absolute; left: 0; top: 14px; width: 10px; height: 10px; border-radius: 50%; background: var(--primary-color); border: 2px solid var(--secondary-color); }
.story ul li a { color: var(--secondary-color); text-decoration: underline; }
.story p { margin-bottom: 16px; }
.story-img img { max-width: 380px; width: 100%; }
.process-mid { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 260px; }
.process-mid img { max-width: 200px; opacity: 0.9; }

/* Contact page */
.line-select {
  width: 100%;
  height: 60px;
  padding: 0 20px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #fff;
  color: #6e6e6e;
}
.preview-msg {
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--secondary-color);
  color: #fff;
  font-size: 16px;
}
.contact-box .icon-circle {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--secondary-color); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 24px;
}
.contact-box a { color: inherit; }
.map iframe { width: 100%; }

/* CTA block */
.newslater-secure-two .call-big { font-size: 22px; }
.newslater-secure-two .call-big i { margin-right: 10px; }

/* FAQ links */
.faq-wrap .card-body a { color: var(--secondary-color); text-decoration: underline; font-weight: 600; }

/* Footer */
.f-contact ul li a { color: inherit; }
.bf-credit { font-size: 14px; }
.bf-credit a { text-decoration: underline; }
@media (max-width: 991px) { .bf-credit { text-align: left !important; margin-top: 8px; } }

/* Match the template logo height so the mobile menu toggle lines up */
.second-menu .logo { min-height: 56px; display: flex; align-items: center; }

/* Fixes after first screenshots */
.services-05-area .qt-text { color: rgba(255, 255, 255, 0.85); }
.services-05-area .qt-text a { color: var(--primary-color); }
.services-active .services-box-05 { min-height: 300px; }
.office-card .btn { background: var(--primary-color); color: var(--secondary-color); border-color: var(--primary-color); }
.footer-widget .f-widget-title .logo-text { color: #fff; }
.footer-widget .f-widget-title .logo-text span { color: var(--primary-color); }
.header-cta-2 ul li.header-phone { margin-right: 4px; }
@media (max-width: 991px) { .s-about-content .about-img img { max-width: 150px; } }

/* Services page cards: readable text, equal heights, bottom padding */
.home-page-2 .line-card .services-content-05 { padding: 34px 30px 30px; height: 100%; }
.home-page-2 .line-card .services-content-05 p { color: var(--hero-ptext-color); padding-right: 0; font-size: 17px; }
.home-page-2 .line-card .services-content-05 h4 { font-size: 24px; margin-bottom: 10px; }
.carriers-box .section-title p { max-width: none; }
.work-process-img.process-mid img { width: 190px !important; max-width: 100%; height: auto !important; object-fit: contain; border-radius: 0; }
