/* CallMyLawyer glue styles. Everything here reuses the Direx theme variables;
   it only adapts theme components to font icons, firm logos and the inline firm popup. */

/* Font icons inside theme icon slots */
.category-style1 .category-icon .icon i {
  color: var(--white-color);
  font-size: 36px;
  line-height: inherit;
}
.category-style1 .category-icon .batch {
  color: var(--white-color);
  font-size: 13px;
}
.cat-item i.icon {
  color: var(--theme-color);
  font-size: 20px;
  left: 0;
  top: 50%;
  transform: translateY(-40%);
}
.listing-search .nav-link i {
  margin-right: 8px;
  font-size: 18px;
}
.listing-style2 .tags i {
  margin-right: 6px;
  color: var(--theme-color);
}

/* Firm logos in listing cards */
.listing-style2 .listing-img.firm-logo,
.listing-style2 .listing-img.firm-photo {
  aspect-ratio: 324 / 254;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
}
.listing-style2 .listing-img.firm-logo > a,
.listing-style2 .listing-img.firm-photo > a {
  display: block;
  width: 100%;
  height: 100%;
}
.listing-style2 .listing-img.firm-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 40px 30px 25px;
}
.listing-style2 .listing-img.firm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listing-style2 .listing-title a {
  color: inherit;
}
.listing-style2 .firm-addr {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.firm-item.is-hidden {
  display: none;
}

/* Firm details popup (uses the theme's doctor-details components) */
.firm-popup {
  position: relative;
  background-color: var(--white-color);
  max-width: 1100px;
  margin: 40px auto;
  padding: 50px 40px 30px;
  border-radius: 20px;
}
.firm-popup .doctor-details {
  padding: 0 0 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--border-color);
}
.firm-popup .details-info .details-icon {
  overflow: hidden;
  background-color: var(--white-color);
}
.firm-popup .details-info .details-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
}
.firm-popup .btns-group .vs-btn {
  width: 100%;
  justify-content: center;
  margin-bottom: 12px;
}
.firm-popup .btns-group .vs-btn i {
  margin-right: 8px;
}
.firm-popup .list-sidebar .list-style1 li {
  word-break: break-word;
}
.firm-popup .firm-facts li strong {
  color: var(--title-color);
  margin-right: 4px;
}
.firm-popup .mfp-close {
  color: var(--title-color);
  font-size: 36px;
  right: 10px;
  top: 10px;
}
.mfp-bg {
  background: var(--title-color);
  opacity: 0.85;
}
.mfp-fade.mfp-bg,
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.25s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.85;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* Link lists in content blocks */
.link-columns ul {
  columns: 2;
  column-gap: 30px;
}
.link-columns li {
  break-inside: avoid;
}
.link-columns a {
  color: var(--text-color);
}
.link-columns a:hover {
  color: var(--theme-color);
}
.vs-details .accordion-body .item-details p {
  margin-bottom: 0;
}
.town-card .category-text {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .link-columns ul {
    columns: 1;
  }
  .firm-popup {
    padding: 40px 20px 20px;
  }
}

/* popup spacing + keep emails and web addresses as typed */
.firm-popup .content-details {
  padding: 0;
}
.firm-popup .doctor-details {
  box-shadow: none;
}
.list-style1 ul li a[href^="mailto:"],
.list-style1 ul li a[href^="http"] {
  text-transform: none;
}
.vs-details .details-text + .details-text {
  margin-top: 12px;
}

/* firm profile pages */
.firm-details-info .details-icon {
  overflow: hidden;
  background-color: var(--white-color);
  flex: 0 0 120px;
}
.firm-details-info .details-icon img,
.firm-author-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}
.firm-author-img {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  overflow: hidden;
  background-color: var(--white-color);
  flex: 0 0 66px;
}
.firm-details-info .details-title {
  font-size: 28px;
}
.link-list a {
  color: var(--text-color);
}
.link-list a:hover {
  color: var(--theme-color);
}
.firm-facts li {
  padding-left: 0;
}

/* home page 3: firm logo badge on profile carousel cards */
.listing-style3 .wishlist.firm-mini-logo {
  width: 64px;
  height: 64px;
  line-height: normal;
  padding: 6px;
  border-radius: 10px;
  background-color: var(--white-color);
  overflow: hidden;
}
.listing-style3 .wishlist.firm-mini-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.listing-style3 .listing-bottom a.price {
  color: var(--theme-color);
}
.brand-style1 .brand-item img {
  height: 60px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
}

/* cookie notice */
.cml-cookie {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 9999;
  max-width: 420px;
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}
.cml-cookie p {
  margin-bottom: 12px;
  font-size: 14px;
}
.cml-cookie-btns {
  display: flex;
  gap: 10px;
}
.cml-cookie .vs-btn {
  padding: 10px 22px;
}
@media (max-width: 575px) {
  .cml-cookie {
    left: 10px;
    right: 10px;
    max-width: none;
  }
}
