/* Silavocat directory: only what the design stylesheet does not already cover. */

.silavocat-results { position: relative; min-height: 120px; transition: opacity .2s ease; }
.silavocat-results.is-loading { opacity: .45; pointer-events: none; }
.silavocat-results.is-loading::after {
  content: "";
  position: absolute;
  top: 40px; left: 50%;
  width: 34px; height: 34px;
  margin-left: -17px;
  border: 3px solid #dad8dc;
  border-top-color: #493C52;
  border-radius: 50%;
  animation: silavocat-spin .8s linear infinite;
}
@keyframes silavocat-spin { to { transform: rotate(360deg); } }

.silavocat-count { font-size: .95rem; }

.silavocat-pagination .page-link {
  color: #493C52;
  border-color: #e5e5e5;
  border-radius: 8px;
  margin: 0 3px;
  min-width: 40px;
  text-align: center;
}
.silavocat-pagination .page-item.active .page-link {
  background: #493C52;
  border-color: #493C52;
  color: #fff;
}
.silavocat-pagination .page-link:hover { background: #e8e7ea; }

/* Fallback styles when the Silavoca theme is not active (the theme has the same rules). */
body:not(.silavoca) .person { border: 1px solid #e5e5e5; background: #fff; }
body:not(.silavoca) .person-box .person-img { border: 2px solid #D19630; border-radius: 50%; flex: 0 0 80px; width: 80px; height: 80px; overflow: hidden; }
body:not(.silavoca) .person-box .person-img img { width: 100%; height: 100%; object-fit: cover; }
body:not(.silavoca) .name-box { font-size: 1.25rem; font-weight: 700; line-height: 1; margin-bottom: .5rem; color: #493C52; text-decoration: none; }
body:not(.silavoca) .tags-special { background: #e8e7ea; color: #493C52; display: inline-block; padding: 5px 12px; border-radius: 7px; font-weight: 600; font-size: .9rem; margin: 5px 5px 0 0; }
body:not(.silavoca) .btn-rdv { background: #493C52; color: #fff; padding: 8px 20px; border-radius: 6px; width: 100%; text-align: center; }
body:not(.silavoca) .btn-primary { background: #493C52; border-color: #493C52; }
body:not(.silavoca) .filter-card { position: sticky; top: 20px; border: 1px solid #e5e5e5; background: #fff; padding: 20px; border-radius: 1rem; }
body:not(.silavoca) .filter-header { display: flex; justify-content: space-between; align-items: center; }
body:not(.silavoca) .filter-collapse { overflow: hidden; transition: max-height .4s ease, opacity .3s ease; }
body:not(.silavoca) .filter-collapsed .filter-collapse { max-height: 0; opacity: 0; pointer-events: none; }
body:not(.silavoca) .filter-expanded .filter-collapse { max-height: 900px; opacity: 1; }
body:not(.silavoca) .bg-3 { background: #f9f9f9; }
body:not(.silavoca) .service-card { border: 1px solid #e5e5e5; background: #fff; }
body:not(.silavoca) .profiles { padding: 30px; background: #fff; border-radius: 20px; }
body:not(.silavoca) .card-home-1 { background: #a98fdb91; padding: 1.5rem; border-radius: 2rem; border: 1px solid #e5e5e5; }
body:not(.silavoca) .img-avocat { width: 50px; border-radius: 50px; margin-left: -5px; border: 3px solid #fff; }
body:not(.silavoca) .form-control { border: 1px solid #ddd; border-radius: 10px; }
body:not(.silavoca) .border-gris { border-bottom: 1px solid #e5e5e5; }

/* Astra wrappers on plugin pages when the Silavoca theme is not active. */
body.silavocat-page:not(.silavoca) .ast-container,
body.silavocat-page:not(.silavoca) #primary,
body.silavocat-page:not(.silavoca) .site-content { max-width: 100%; padding: 0; margin: 0; }
body.silavocat-page .entry-header,
body.silavocat-page .ast-archive-description,
body.silavocat-page .ast-page-title,
body.silavocat-page .post-navigation { display: none; }

/* Blue "verified" check next to the professional's name. */
.silavocat-verified { display: inline-flex; align-items: center; vertical-align: -0.15em; margin-inline-start: .35em; line-height: 0; flex: none; }
.silavocat-verified svg { display: block; }
.sila-verified-yes { color: #1877F2; font-weight: 600; }
.sila-verified-no { color: #8c8f94; }

/* Non verified professional: "Vous êtes cet avocat ? Validez votre profil". */
.silavocat-claim { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; align-items: baseline; font-size: .85rem; color: #81798c; padding-top: 10px; border-top: 1px dashed #e6e0d7; }
.silavocat-claim a { color: #BC8F31; font-weight: 700; text-decoration: none; }
.silavocat-claim a:hover { text-decoration: underline; }
.silavocat-claim.is-profile { justify-content: flex-start; border-top: 0; padding-top: 0; font-size: .95rem; }

/* Profile: areas of practice with their sub-specialities. */
.silavocat-domaines .silavocat-subs { font-size: .9rem; color: #625b6d; margin: 4px 0 0 4px; }
