:root {
  --bmd-primary: #087f8c;
  --bmd-primary-dark: #05616b;
  --bmd-accent: #10b981;
  --bmd-ink: #152536;
  --bmd-muted: #65758b;
  --bmd-line: #e4ebf2;
  --bmd-soft: #f4f9fb;
  --bmd-white: #fff;
  --bmd-shadow: 0 12px 38px rgba(27, 54, 75, .09);
}

.bmd-directory-slider,
.bmd-profile-page,
.bmd-profile-page * {
  box-sizing: border-box;
}

.bmd-top-directory-wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 26px auto 30px;
  clear: both;
}

.bmd-top-directory-wrap .bmd-directory-slider {
  margin-bottom: 0;
}

.bmd-directory-slider {
  position: relative;
  width: 100%;
  margin: 0 0 32px;
  padding: 24px;
  overflow: hidden;
  color: var(--bmd-ink);
  border: 1px solid #dcebf0;
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 10%, rgba(16,185,129,.13), transparent 28%),
    linear-gradient(135deg, #f7fcfd 0%, #edf6fb 100%);
}

.bmd-slider-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.bmd-slider-heading h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bmd-ink);
  font-size: clamp(19px, 2.2vw, 26px);
  line-height: 1.5;
}

.bmd-slider-controls { display: flex; gap: 8px; }
.bmd-slider-button {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #d8e5eb;
  border-radius: 50%;
  background: #fff;
  color: var(--bmd-primary);
  font: 700 24px/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(40,72,94,.08);
  transition: .2s ease;
}
.bmd-slider-button:hover { color: #fff; border-color: var(--bmd-primary); background: var(--bmd-primary); }

.bmd-slider-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 4px 2px 10px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #c3d8df transparent;
}

.bmd-profile-card {
  position: relative;
  flex: 0 0 218px;
  min-height: 300px;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid rgba(216,229,235,.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(35,68,88,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}
.bmd-profile-card:hover { transform: translateY(-4px); box-shadow: 0 15px 34px rgba(35,68,88,.14); }
.bmd-profile-card-verified { border-color: rgba(30, 108, 214, .5); box-shadow: 0 9px 25px rgba(30, 108, 214, .13); }
.bmd-card-link { display: flex; height: 100%; padding: 22px 15px 17px; color: inherit !important; text-decoration: none !important; flex-direction: column; align-items: center; }
.bmd-vip-badge { position: absolute; z-index: 2; top: 0; right: 0; padding: 7px 14px 8px 18px; color: #0c7950; border-radius: 0 0 0 18px; background: #d9faeb; font-size: 12px; font-weight: 800; }
.bmd-trusted-badge { position: absolute; z-index: 3; top: 8px; left: 8px; display: grid; width: 25px; height: 25px; color: #fff; border: 2px solid #fff; border-radius: 50%; background: #1e6cd6; box-shadow: 0 4px 12px rgba(30,108,214,.28); place-items: center; font-size: 13px; font-weight: 900; }
.bmd-card-photo-wrap { padding: 7px; border-radius: 50%; background: linear-gradient(145deg, #dff4f5, #f3fbfc); }
.bmd-card-photo { display: block; width: 92px; height: 92px; margin: 0; object-fit: cover; border: 4px solid #fff; border-radius: 50%; }
.bmd-card-placeholder { display: grid; place-items: center; color: var(--bmd-primary); background: #e8f5f6; font-size: 34px; }
.bmd-profile-card h3 { margin: 13px 0 5px !important; padding: 0 !important; color: var(--bmd-ink); text-align: center; font-size: 16px; line-height: 1.65; }
.bmd-verified-mark { display: inline-grid; width: 18px; height: 18px; margin-right: 5px; color: #fff; border-radius: 50%; background: #1e6cd6; box-shadow: 0 2px 7px rgba(30,108,214,.23); place-items: center; font-size: 11px; }
.bmd-card-specialty { min-height: 42px; margin: 0 !important; color: var(--bmd-muted); text-align: center; font-size: 12px; line-height: 1.75; }
.bmd-card-location { margin: 8px 0 12px !important; color: #768799; font-size: 12px; }
.bmd-card-cta { width: 100%; margin-top: auto; padding: 8px 12px; color: var(--bmd-primary); border-radius: 10px; background: #edf8f8; text-align: center; font-size: 12px; font-weight: 700; }

.bmd-profile-page { min-height: 100vh; padding: 34px 18px 80px; color: var(--bmd-ink); background: #f5f8fa; font-family: inherit; }
.bmd-profile-shell { width: min(1180px, 100%); margin: 0 auto; }
.bmd-breadcrumb { display: flex; margin: 0 0 18px; color: #7a8899; font-size: 13px; align-items: center; gap: 9px; flex-wrap: wrap; }
.bmd-breadcrumb a { color: var(--bmd-primary); text-decoration: none; }

.bmd-profile-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--bmd-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--bmd-shadow);
  align-items: center;
}
.bmd-profile-avatar { width: 138px; height: 138px; overflow: hidden; border: 7px solid #edf7f8; border-radius: 50%; background: #e6f2f4; }
.bmd-profile-avatar img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.bmd-profile-avatar > span { display: grid; width: 100%; height: 100%; color: var(--bmd-primary); place-items: center; font-size: 45px; }
.bmd-profile-labels { display: flex; min-height: 25px; gap: 8px; flex-wrap: wrap; }
.bmd-label { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 800; }
.bmd-label-vip { color: #946200; background: #fff3cf; }
.bmd-label-verified { color: #1554a8; background: #e2efff; }
.bmd-profile-intro h1 { margin: 7px 0 5px; color: var(--bmd-ink); font-size: clamp(25px, 3vw, 36px); line-height: 1.5; }
.bmd-profile-specialty { margin: 0 0 13px; color: var(--bmd-muted); font-size: 15px; }
.bmd-profile-facts { display: flex; color: #63758a; gap: 10px 20px; flex-wrap: wrap; font-size: 13px; }
.bmd-profile-facts span { position: relative; }
.bmd-rating-inline { color: #a26900 !important; }
.bmd-hero-actions { display: flex; width: 185px; flex-direction: column; gap: 10px; }

.bmd-button { display: inline-flex; min-height: 45px; padding: 10px 18px; border: 1px solid transparent; border-radius: 12px; text-decoration: none !important; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; transition: .2s ease; }
.bmd-button-primary { color: #fff !important; background: var(--bmd-primary); }
.bmd-button-primary:hover { background: var(--bmd-primary-dark); }
.bmd-button-whatsapp { color: #fff !important; background: #16a86f; }
.bmd-button-whatsapp:hover { background: #0e8a5a; }
.bmd-button-outline { color: var(--bmd-primary) !important; border-color: #cce0e5; background: #fff; }
.bmd-button-outline:hover { border-color: var(--bmd-primary); background: #f1fafa; }

.bmd-profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; margin-top: 24px; gap: 24px; align-items: start; }
.bmd-profile-main { min-width: 0; }
.bmd-profile-section,
.bmd-contact-card,
.bmd-map-card { margin-bottom: 22px; padding: 25px; border: 1px solid var(--bmd-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 26px rgba(27,54,75,.06); }
.bmd-profile-section h2,
.bmd-contact-card h2 { position: relative; margin: 0 0 20px; padding: 0 14px 12px 0; color: var(--bmd-ink); border-bottom: 1px solid #edf1f4; font-size: 20px; line-height: 1.6; }
.bmd-profile-section h2::before,
.bmd-contact-card h2::before { position: absolute; top: 6px; right: 0; width: 4px; height: 22px; border-radius: 5px; background: var(--bmd-primary); content: ""; }
.bmd-rich-content { color: #425466; font-size: 15px; line-height: 2.05; }
.bmd-rich-content p:last-child { margin-bottom: 0; }

.bmd-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bmd-service-list > span { display: flex; padding: 13px 14px; border: 1px solid #e5edf1; border-radius: 12px; background: #fbfdfd; align-items: center; gap: 9px; }
.bmd-service-list i { display: grid; width: 22px; height: 22px; color: #fff; border-radius: 50%; background: var(--bmd-accent); place-items: center; font-style: normal; font-size: 12px; }
.bmd-check-list { margin: 0; padding: 0; list-style: none; }
.bmd-check-list li { position: relative; margin: 0; padding: 10px 28px 10px 0; color: #425466; border-bottom: 1px dashed #e7edf1; }
.bmd-check-list li:last-child { border-bottom: 0; }
.bmd-check-list li::before { position: absolute; top: 12px; right: 3px; color: var(--bmd-accent); content: "✓"; font-weight: 900; }
.bmd-chip-list { display: flex; gap: 9px; flex-wrap: wrap; }
.bmd-chip-list span { padding: 8px 13px; color: #365264; border: 1px solid #dce9ed; border-radius: 30px; background: #f6fafb; font-size: 13px; }

.bmd-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bmd-gallery a { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 13px; background: #edf2f4; }
.bmd-gallery img { width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .25s ease; }
.bmd-gallery a:hover img { transform: scale(1.04); }
.bmd-video-wrap iframe,
.bmd-video-wrap video { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; }

.bmd-profile-sidebar { position: sticky; top: 24px; }
.bmd-contact-card { padding: 22px; }
.bmd-contact-card h2 { font-size: 18px; }
.bmd-contact-row { display: flex; padding: 11px 0; border-bottom: 1px solid #edf1f4; justify-content: space-between; align-items: flex-start; gap: 12px; font-size: 13px; }
.bmd-contact-row > span,
.bmd-contact-address > span { color: var(--bmd-muted); }
.bmd-contact-row a { color: var(--bmd-primary); text-decoration: none; direction: ltr; font-weight: 800; }
.bmd-contact-row strong { color: #35495a; text-align: left; font-size: 13px; }
.bmd-contact-address { padding: 14px 0 4px; }
.bmd-contact-address p { margin: 6px 0 12px; color: #3d5060; font-size: 13px; line-height: 1.9; }
.bmd-contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.bmd-social-links { display: flex; margin-top: 15px; padding-top: 14px; border-top: 1px solid #edf1f4; justify-content: center; gap: 22px; }
.bmd-social-links a { color: var(--bmd-primary); text-decoration: none; font-size: 13px; font-weight: 700; }
.bmd-map-card { overflow: hidden; height: 245px; padding: 0; }
.bmd-map-card iframe { width: 100%; height: 100%; border: 0; }

.bmd-comments-section .comment-list { margin: 0 0 26px; padding: 0; list-style: none; }
.bmd-comments-section .comment { margin: 0 0 13px; padding: 16px; border: 1px solid #e6edf1; border-radius: 13px; background: #fbfdfd; }
.bmd-comments-section .children { margin-top: 12px; }
.bmd-comments-section .comment-meta { margin-bottom: 9px; font-size: 12px; }
.bmd-comments-section .comment-author img { border-radius: 50%; }
.bmd-comment-score { margin: 0 0 7px; color: #e29a12; letter-spacing: 2px; direction: ltr; text-align: right; }
.bmd-comment-ratings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0 18px; gap: 12px; }
.bmd-rating-help { grid-column: 1 / -1; margin: 0; font-weight: 700; }
.bmd-comment-ratings label { display: flex; padding: 8px 11px; border: 1px solid #e3ebef; border-radius: 10px; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; }
.bmd-comment-ratings select { min-width: 95px; padding: 6px; }
.bmd-comments-section input[type="text"],
.bmd-comments-section input[type="email"],
.bmd-comments-section input[type="url"],
.bmd-comments-section textarea { width: 100%; padding: 11px 13px; border: 1px solid #dbe5ea; border-radius: 10px; }
.bmd-comments-section input[type="submit"] { padding: 11px 22px; color: #fff; border: 0; border-radius: 10px; background: var(--bmd-primary); cursor: pointer; }

.bmd-mobile-sticky { display: none; }

@media (max-width: 900px) {
  .bmd-profile-hero { grid-template-columns: auto 1fr; }
  .bmd-hero-actions { grid-column: 1 / -1; width: 100%; flex-direction: row; }
  .bmd-hero-actions .bmd-button { flex: 1; }
  .bmd-profile-layout { grid-template-columns: 1fr; }
  .bmd-profile-sidebar { position: static; }
}

@media (max-width: 620px) {
  .bmd-top-directory-wrap { width: calc(100% - 20px); margin: 16px auto 22px; }
  .bmd-directory-slider { margin-bottom: 24px; padding: 15px 10px; border-radius: 17px; }
  .bmd-slider-heading { align-items: flex-start; }
  .bmd-slider-heading h2 { font-size: 18px; }
  .bmd-slider-controls { display: none; }
  .bmd-slider-track { gap: 8px; padding: 3px 1px 9px; }
  .bmd-profile-card { flex-basis: calc((100% - 16px) / 2.55); min-width: 0; min-height: 205px; border-radius: 14px; }
  .bmd-card-link { padding: 11px 7px 9px; }
  .bmd-card-photo-wrap { padding: 4px; }
  .bmd-card-photo { width: 54px; height: 54px; border-width: 2px; }
  .bmd-card-placeholder { font-size: 23px; }
  .bmd-profile-card h3 { display: -webkit-box; overflow: hidden; min-height: 42px; margin: 8px 0 3px !important; font-size: 12px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .bmd-verified-mark { width: 15px; height: 15px; margin-right: 3px; font-size: 9px; }
  .bmd-trusted-badge { top: 5px; left: 5px; width: 21px; height: 21px; font-size: 11px; }
  .bmd-vip-badge { padding: 4px 7px 5px 10px; border-radius: 0 0 0 12px; font-size: 9px; }
  .bmd-card-specialty { display: -webkit-box; overflow: hidden; min-height: 35px; font-size: 10px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .bmd-card-location { overflow: hidden; max-width: 100%; margin: 4px 0 6px !important; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .bmd-card-cta { padding: 6px 4px; border-radius: 8px; font-size: 9px; }
  .bmd-profile-page { padding: 20px 10px 88px; }
  .bmd-profile-hero { grid-template-columns: 1fr; padding: 21px 17px; text-align: center; }
  .bmd-profile-avatar { width: 116px; height: 116px; margin: 0 auto; }
  .bmd-profile-labels,
  .bmd-profile-facts { justify-content: center; }
  .bmd-profile-facts { flex-direction: column; gap: 6px; }
  .bmd-hero-actions { flex-direction: row; }
  .bmd-profile-section,
  .bmd-contact-card { padding: 19px 15px; border-radius: 16px; }
  .bmd-service-list { grid-template-columns: 1fr; }
  .bmd-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bmd-comment-ratings { grid-template-columns: 1fr; }
  .bmd-rating-help { grid-column: auto; }
  .bmd-mobile-sticky { position: fixed; z-index: 9999; right: 10px; bottom: 10px; left: 10px; display: flex; overflow: hidden; padding: 5px; border: 1px solid rgba(255,255,255,.28); border-radius: 15px; background: rgba(5,97,107,.96); box-shadow: 0 10px 35px rgba(12,43,56,.28); backdrop-filter: blur(8px); gap: 5px; }
  .bmd-mobile-sticky a { flex: 1; padding: 10px; color: #fff; border-radius: 11px; background: rgba(255,255,255,.1); text-align: center; text-decoration: none; font-weight: 800; }
}

@media (prefers-reduced-motion: reduce) {
  .bmd-profile-card,
  .bmd-gallery img,
  .bmd-slider-button { transition: none; }
  .bmd-slider-track { scroll-behavior: auto; }
}

/* 1.4: directory, restrained profile layout and accessible media carousels. */
:root { --bmd-primary:#1689ec; --bmd-primary-dark:#0873ce; --bmd-accent:#00c58e; --bmd-ink:#354a5c; --bmd-muted:#718697; --bmd-soft:#f4f9fd; --bmd-line:#e5edf3; }
.bmd-icon { display:inline-block; width:24px; height:24px; flex-shrink:0; vertical-align:middle; }
.bmd-directory-page, .bmd-directory-page *, .bmd-directory-slider * { box-sizing:border-box; }
.bmd-profile-page a, .bmd-directory-page a { text-decoration:none; }
.bmd-profile-page button, .bmd-directory-page button, .bmd-gallery-carousel button { font-family:inherit; }
.bmd-profile-page :focus-visible, .bmd-directory-page :focus-visible, .bmd-directory-slider :focus-visible { outline:3px solid #1689ec; outline-offset:4px; }
.bmd-button { gap:8px; font-family:inherit; line-height:1.6; }
.bmd-button .bmd-icon { width:21px; height:21px; }
.bmd-round-button, .bmd-slider-button { display:inline-flex; flex-shrink:0; width:44px; height:44px; padding:10px; border:1px solid #e2ebf2; border-radius:50%; background:white; color:var(--bmd-primary); box-shadow:0 3px 10px #28486812; align-items:center; justify-content:center; cursor:pointer; }
.bmd-round-button:hover { background:#eef7ff; color:var(--bmd-primary-dark); }
.bmd-round-button:disabled { opacity:.35; cursor:default; }
.bmd-slider-heading-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.bmd-view-all { display:inline-flex; align-items:center; gap:5px; color:var(--bmd-primary)!important; font-size:14px; font-weight:700; white-space:nowrap; text-decoration:none!important; }
.bmd-view-all .bmd-icon { width:17px; height:17px; }
.bmd-slider-button { width:34px; height:34px; padding:7px; }
.bmd-directory-slider { background:linear-gradient(115deg,#eaf4ff,#f3f8fd); border-color:#e1edf8; }
.bmd-profile-card { min-height:272px; border-color:#e6edf3; box-shadow:0 4px 12px #28486807; }
.bmd-profile-card:hover { transform:translateY(-2px); }
.bmd-profile-card-verified { border-color:#a5d4fa; background:linear-gradient(180deg,#fff 80%,#f4faff); }
.bmd-card-link { padding:20px 14px 14px; }
.bmd-card-photo-wrap { background:#eef8ff; padding:6px; }
.bmd-card-photo { width:78px; height:78px; border:4px solid #fff; }
.bmd-card-placeholder > .bmd-icon { width:36px; height:36px; }
.bmd-trusted-badge > .bmd-icon { width:15px; height:15px; stroke-width:3; }
.bmd-profile-card h3 { font-size:15px; }
.bmd-card-location { display:flex; align-items:center; justify-content:center; gap:5px; }
.bmd-card-location > .bmd-icon { width:15px; height:15px; }
.bmd-card-cta { background:#f1f7fd; font-weight:600; }
.bmd-vip-badge { color:#00a675; background:#e9fff6; }
.bmd-profile-page { padding:24px 20px 75px; background:linear-gradient(#f3f8fd 0, #fff 420px); }
.bmd-breadcrumb .bmd-icon { width:13px; height:13px; }
.bmd-profile-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); padding:34px; gap:34px; border-radius:26px; box-shadow:0 5px 20px #28486806; }
.bmd-hero-identity { display:flex; align-items:center; gap:22px; min-width:0; }
.bmd-profile-avatar { width:116px; height:116px; border-width:5px; flex-shrink:0; }
.bmd-profile-avatar > span > .bmd-icon { width:48px; height:48px; }
.bmd-profile-intro { min-width:0; }
.bmd-profile-intro h1 { margin:8px 0; font-size:clamp(21px,2.1vw,29px); }
.bmd-profile-specialty { padding-inline-start:10px; border-inline-start:3px solid var(--bmd-primary); margin-bottom:12px; font-size:14px; line-height:1.8; }
.bmd-profile-labels { min-height:0; gap:6px; }
.bmd-label { display:inline-flex; gap:5px; align-items:center; padding:4px 8px; font-size:10px; }
.bmd-label .bmd-icon { width:14px; height:14px; }
.bmd-hero-actions { width:auto; flex-direction:row; flex-wrap:wrap; gap:8px; }
.bmd-hero-actions .bmd-button-primary { border-radius:30px; background:var(--bmd-accent); padding:9px 23px; }
.bmd-hero-actions .bmd-button-primary:hover { background:#00a979; }
.bmd-hero-facts { display:flex; justify-content:space-evenly; border-inline-start:1px solid var(--bmd-line); align-self:stretch; align-items:center; gap:6px; }
.bmd-hero-facts > div { flex:1; display:flex; align-items:center; flex-direction:column; gap:10px; padding:8px; text-align:center; min-width:0; }
.bmd-hero-facts > div + div { border-inline-start:1px solid var(--bmd-line); }
.bmd-hero-facts .bmd-icon { width:33px; height:33px; color:#7b91a1; margin-bottom:7px; stroke-width:1.3; }
.bmd-hero-facts strong { font-size:14px; overflow-wrap:anywhere; }
.bmd-hero-facts span { color:#8c9caa; font-size:12px; }
.bmd-rating-inline { display:flex; align-items:center; gap:5px; font-size:12px; margin:6px 0 14px; }
.bmd-rating-inline .bmd-icon { width:15px; height:15px; }
.bmd-profile-tabs { display:flex; gap:24px; margin:20px 0 24px; padding:0 12px 14px; border-bottom:1px solid var(--bmd-line); overflow:auto; }
.bmd-profile-tabs a { display:flex; align-items:center; gap:7px; color:var(--bmd-muted); font-size:13px; white-space:nowrap; }
.bmd-profile-tabs a:hover { color:var(--bmd-primary); }
.bmd-profile-tabs .bmd-icon { width:18px; height:18px; }
.bmd-profile-layout { grid-template-columns:minmax(0,1fr) 300px; gap:30px; margin-top:0; }
.bmd-profile-main > *, #bmd-profile-info { scroll-margin-top:30px; }
.bmd-profile-section { border-color:#eef2f6; padding:24px; box-shadow:none; border-radius:20px; }
.bmd-profile-section h2 { display:flex; align-items:center; justify-content:center; gap:15px; text-align:center; margin:0 0 24px; padding:0; border:0; font-size:18px; }
.bmd-profile-section h2::before, .bmd-profile-section h2::after { position:static; flex:1; height:1px; width:auto; background:#dfe8f0; content:""; }
.bmd-profile-section h2::after { opacity:.6; }
.bmd-profile-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-size:14px; font-weight:700; list-style:none; }
.bmd-profile-details summary::-webkit-details-marker { display:none; }
.bmd-profile-details[open] summary { padding-bottom:17px; margin-bottom:10px; border-bottom:1px solid var(--bmd-line); }
.bmd-profile-details[open] summary .bmd-icon { transform:rotate(-90deg); }
.bmd-profile-details summary .bmd-icon { width:17px; height:17px; color:var(--bmd-primary); }
.bmd-service-list > span { font-size:13px; background:#f9fcff; }
.bmd-service-list .bmd-icon { color:#00a977; width:18px; height:18px; }
.bmd-location-panel { margin-bottom:24px; overflow:hidden; border:1px solid var(--bmd-line); border-radius:22px; background:white; box-shadow:0 4px 12px #28486808; }
.bmd-map-frame { display:block; border:0; width:100%; height:330px; background:#edf4f7; }
.bmd-map-caption { display:flex; gap:14px; align-items:center; padding:18px 20px; }
.bmd-map-caption > div { display:flex; align-items:flex-start; gap:9px; flex:1; }
.bmd-map-caption .bmd-icon { color:var(--bmd-primary); width:20px; height:20px; margin-top:5px; }
.bmd-map-caption p { margin:0; color:#60788b; font-size:13px; line-height:1.9; }
.bmd-map-caption small { display:block; color:#8396a6; font-size:11px; }
.bmd-map-caption .bmd-button { font-size:12px; padding:8px 13px; min-height:38px; }
.bmd-contact-card { padding:26px 22px; text-align:center; background:#eef6fc; border:0; box-shadow:none; border-radius:22px; }
.bmd-contact-card-icon { display:inline-grid; width:50px; height:50px; border-radius:17px; place-items:center; background:white; color:var(--bmd-primary); margin:0 0 14px; }
.bmd-contact-card h2 { margin:0; padding:0; border:0; font-size:19px; }
.bmd-contact-card h2::before { display:none; }
.bmd-contact-subtitle { margin:9px 0 22px; font-size:12px; line-height:1.9; color:var(--bmd-muted); }
.bmd-contact-row { padding:14px 0; border-bottom:1px dashed #cfdfeb; }
.bmd-contact-hours { display:flex; align-items:flex-start; gap:10px; margin:19px 0; text-align:right; }
.bmd-contact-hours > .bmd-icon { width:21px; height:21px; color:var(--bmd-primary); }
.bmd-contact-hours span { font-size:12px; color:var(--bmd-muted); }
.bmd-contact-hours p { margin:6px 0 0; font-size:13px; line-height:1.9; }
.bmd-contact-actions { grid-template-columns:1fr; margin-top:22px; }
.bmd-contact-actions .bmd-button-primary { background:var(--bmd-accent); }
.bmd-contact-actions .bmd-button-whatsapp { background:#fff; color:#00a977!important; border-color:#c7e9dd; }
.bmd-contact-map-link { display:inline-flex; align-items:center; gap:5px; color:var(--bmd-primary); margin-top:18px; font-size:12px; }
.bmd-contact-map-link .bmd-icon { width:17px; height:17px; }
.bmd-video-wrap iframe { display:block; width:100%; border:0; aspect-ratio:16 / 9; background:#101923; border-radius:18px; }
.bmd-video-wrap .wp-video { width:100%!important; max-width:100%; margin:auto; }
.bmd-video-wrap video { width:100%; height:auto; max-height:560px; background:#101923; border-radius:18px; object-fit:contain; }
.bmd-video-fallback { font-size:13px; color:var(--bmd-muted); }
.bmd-gallery-track { display:flex; gap:14px; overflow-x:auto; padding:3px 0 10px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#cbdfee transparent; }
.bmd-gallery-slide { display:block; flex:0 0 calc((100% - 28px) / 3); overflow:hidden; border-radius:17px; background:#f4f8fc; scroll-snap-align:start; border:1px solid #e9eff5; }
.bmd-gallery-slide img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; margin:0; }
.bmd-gallery-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.bmd-gallery-navigation[hidden] { display:none; }
.bmd-gallery-navigation .bmd-round-button { width:38px; height:38px; padding:9px; }
.bmd-gallery-dots { display:flex; gap:7px; flex-wrap:wrap; align-items:center; justify-content:center; }
.bmd-gallery-dots button { padding:0; width:8px; height:8px; min-height:0; border:0; border-radius:50%; background:#ced8e1; cursor:pointer; }
.bmd-gallery-dots button[aria-current="true"] { background:var(--bmd-primary); width:20px; border-radius:10px; }
.bmd-lightbox { width:min(1060px,95vw); max-height:94vh; margin:auto; padding:55px 14px 14px; border:0; border-radius:18px; background:#142433; color:white; }
.bmd-lightbox::backdrop { background:#091624df; }
.bmd-lightbox-open { overflow:hidden; }
.bmd-lightbox[open] { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:10px; }
.bmd-lightbox img { width:100%; max-height:72vh; object-fit:contain; }
.bmd-lightbox-close { position:absolute; top:10px; left:12px; }
.bmd-lightbox-count { position:absolute; top:20px; right:20px; font:14px/1.6 sans-serif; }
.bmd-lightbox .bmd-round-button { background:#ffffff12; border-color:#ffffff33; color:#fff; }
.bmd-directory-shell { background:#f7fafd; padding:30px 18px 60px; }
.bmd-directory-page { max-width:1180px; margin:0 auto; color:var(--bmd-ink); font-family:inherit; }
.bmd-directory-hero { padding:32px; border:1px solid #dfeefb; border-radius:24px; background:linear-gradient(125deg,#eaf5ff,#fff); }
.bmd-directory-eyebrow { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--bmd-primary); }
.bmd-directory-eyebrow .bmd-icon { width:18px; height:18px; }
.bmd-directory-hero h1, .bmd-directory-hero h2 { margin:10px 0; color:var(--bmd-ink); font-size:28px; line-height:1.6; }
.bmd-directory-hero > p { margin:0 0 24px; color:var(--bmd-muted); font-size:14px; }
.bmd-directory-form { display:grid; grid-template-columns:1fr 1fr 1.2fr auto; gap:14px; align-items:end; }
.bmd-directory-form label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.bmd-directory-form label > span { font-size:12px; font-weight:700; }
.bmd-directory-form select, .bmd-directory-form input, .bmd-search-link input { display:block; width:100%; height:48px; padding:9px 12px; border:1px solid #dce6ef; border-radius:12px; color:var(--bmd-ink); background:#fff; font:inherit; font-size:13px; }
.bmd-directory-form button { height:48px; cursor:pointer; }
.bmd-results-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px 4px 18px; }
.bmd-results-heading p { margin:0; font-size:14px; }
.bmd-results-heading a { color:var(--bmd-primary); font-size:12px; }
.bmd-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.bmd-directory-grid .bmd-profile-card { min-height:256px; }
.bmd-directory-grid .bmd-card-link { padding:24px 18px 16px; }
.bmd-directory-grid .bmd-card-specialty { margin-bottom:6px!important; }
.bmd-empty-state { padding:50px 20px; text-align:center; border:1px solid var(--bmd-line); border-radius:22px; background:white; }
.bmd-empty-state > .bmd-icon { width:38px; height:38px; color:#9ab9d2; }
.bmd-empty-state h2 { font-size:19px; margin:18px 0 9px; }
.bmd-empty-state p { color:var(--bmd-muted); font-size:14px; }
.bmd-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:30px 0; direction:rtl; }
.bmd-pagination .page-numbers { padding:9px 14px; border:1px solid var(--bmd-line); border-radius:10px; background:#fff; color:var(--bmd-primary); }
.bmd-pagination .current { background:var(--bmd-primary); color:#fff; }
.bmd-search-link { margin-top:35px; padding:18px; border:1px dashed #b3d5f0; border-radius:14px; background:white; }
.bmd-search-link label { font-size:12px; }
.bmd-search-link > div { display:flex; gap:10px; margin-top:10px; }
.bmd-search-link button { white-space:nowrap; cursor:pointer; font-size:12px; }

@media (max-width:1020px) {
  .bmd-profile-hero { grid-template-columns:1fr; gap:22px; padding:26px; }
  .bmd-hero-facts { border-inline-start:0; border-top:1px solid var(--bmd-line); padding-top:20px; }
  .bmd-profile-layout { grid-template-columns:minmax(0,1fr) 265px; gap:20px; }
  .bmd-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bmd-directory-form { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .bmd-profile-layout { grid-template-columns:1fr; }
  .bmd-profile-sidebar { position:static; }
  .bmd-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .bmd-directory-hero { padding:24px; }
}
@media (max-width:620px) {
  .bmd-slider-heading { gap:8px; align-items:center; }
  .bmd-slider-heading h2 { font-size:15px; }
  .bmd-view-all { font-size:11px; gap:2px; }
  .bmd-view-all .bmd-icon { width:13px; height:13px; }
  .bmd-slider-heading-actions { gap:0; }
  .bmd-profile-card { min-height:198px; }
  .bmd-card-link { padding:12px 7px 9px; }
  .bmd-card-photo { width:49px; height:49px; border-width:2px; }
  .bmd-card-photo-wrap { padding:4px; }
  .bmd-card-placeholder > .bmd-icon { width:24px; height:24px; }
  .bmd-profile-card h3 { font-size:11px; margin-top:8px!important; min-height:38px; }
  .bmd-card-location { gap:3px; font-size:9px; }
  .bmd-card-location .bmd-icon { width:11px; height:11px; }
  .bmd-trusted-badge { width:20px; height:20px; }
  .bmd-trusted-badge > .bmd-icon { width:11px; height:11px; }
  .bmd-profile-page { padding:16px 12px 90px; }
  .bmd-breadcrumb { font-size:10px; gap:5px; }
  .bmd-profile-hero { text-align:right; padding:20px 16px; gap:20px; border-radius:20px; }
  .bmd-hero-identity { gap:13px; align-items:flex-start; }
  .bmd-profile-avatar { width:76px; height:76px; margin:5px 0 0; border-width:3px; }
  .bmd-profile-avatar > span > .bmd-icon { width:34px; height:34px; }
  .bmd-profile-intro h1 { font-size:19px; margin:7px 0; }
  .bmd-profile-specialty { font-size:12px; margin-bottom:11px; }
  .bmd-profile-labels { justify-content:flex-start; }
  .bmd-hero-actions { flex-direction:row; gap:6px; }
  .bmd-hero-actions .bmd-button { flex:initial; padding:8px 14px; font-size:12px; min-height:39px; }
  .bmd-hero-actions .bmd-round-button { width:36px; height:36px; padding:8px; }
  .bmd-hero-facts { padding-top:15px; gap:0; }
  .bmd-hero-facts > div { gap:6px; padding:5px; }
  .bmd-hero-facts .bmd-icon { width:26px; height:26px; margin-bottom:4px; }
  .bmd-hero-facts strong { font-size:12px; }
  .bmd-hero-facts span { font-size:10px; }
  .bmd-profile-tabs { gap:18px; margin:18px 0; padding:0 2px 12px; }
  .bmd-profile-tabs a { font-size:11px; gap:5px; }
  .bmd-profile-tabs .bmd-icon { width:16px; height:16px; }
  .bmd-map-frame { height:260px; }
  .bmd-map-caption { padding:13px; gap:8px; align-items:flex-end; }
  .bmd-map-caption p { font-size:11px; }
  .bmd-map-caption .bmd-button { padding:6px 9px; font-size:10px; }
  .bmd-map-caption small { font-size:9px; }
  .bmd-profile-section { padding:18px 14px; }
  .bmd-profile-section h2 { font-size:16px; gap:10px; }
  .bmd-gallery-track { gap:10px; }
  .bmd-gallery-slide { flex-basis:calc((100% - 10px) / 2.2); border-radius:13px; }
  .bmd-lightbox { padding:54px 6px 15px; }
  .bmd-lightbox[open] { grid-template-columns:30px minmax(0,1fr) 30px; gap:4px; }
  .bmd-lightbox .bmd-round-button { width:30px; height:30px; padding:6px; }
  .bmd-directory-shell { padding:18px 12px 40px; }
  .bmd-directory-hero { padding:20px 16px; border-radius:19px; }
  .bmd-directory-hero h1, .bmd-directory-hero h2 { font-size:22px; }
  .bmd-directory-hero > p { font-size:12px; margin-bottom:18px; }
  .bmd-directory-form { gap:13px 10px; }
  .bmd-directory-form label:nth-last-of-type(1) { grid-column:1 / -1; }
  .bmd-directory-form select, .bmd-directory-form input { font-size:12px; }
  .bmd-directory-form button { grid-column:1 / -1; height:43px; min-height:43px; }
  .bmd-directory-grid .bmd-profile-card { min-height:207px; }
  .bmd-directory-grid .bmd-card-link { padding:15px 10px 12px; }
  .bmd-directory-grid .bmd-profile-card h3 { font-size:13px; min-height:43px; }
  .bmd-directory-grid .bmd-card-specialty { font-size:11px; }
  .bmd-directory-grid .bmd-card-location { font-size:10px; }
  .bmd-search-link > div { flex-direction:column; }
  .bmd-mobile-sticky { background:#fff; border-color:#e1eaf1; box-shadow:0 4px 25px #29496328; padding-bottom:max(5px,env(safe-area-inset-bottom)); }
  .bmd-mobile-sticky a { display:flex; align-items:center; justify-content:center; gap:7px; font-size:13px; color:#fff; background:var(--bmd-accent); }
  .bmd-mobile-sticky .bmd-icon { width:18px; height:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .bmd-profile-page *, .bmd-directory-page *, .bmd-directory-slider * { scroll-behavior:auto!important; transition:none!important; }
}

/* 1.5: related specialists, recommendations, editable FAQs and private registration. */
.bmd-profile-topbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.bmd-profile-topbar .bmd-breadcrumb { margin:0; }
.bmd-register-button { flex-shrink:0; font-size:12px; padding:9px 14px; white-space:nowrap; }
.bmd-register-button .bmd-icon { width:18px; height:18px; }
.bmd-directory-registration { display:flex; justify-content:flex-end; margin-bottom:12px; }
.bmd-suggestion { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:22px 0; padding:22px 26px; border:1px solid #cde5fa; border-radius:20px; background:linear-gradient(110deg,#f5faff,#eaf5ff); }
.bmd-suggestion strong { display:flex; align-items:center; gap:9px; font-size:16px; color:var(--bmd-ink); }
.bmd-suggestion strong .bmd-icon { color:var(--bmd-primary); }
.bmd-suggestion p { margin:8px 0 0; font-size:13px; line-height:1.9; color:var(--bmd-muted); }
.bmd-suggestion > .bmd-button { flex-shrink:0; font-size:13px; }
.bmd-suggestion-dialog { box-sizing:border-box; width:min(480px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); margin:auto; padding:30px; overflow:auto; overscroll-behavior:contain; border:1px solid #e2edf6; border-radius:24px; color:var(--bmd-ink); background:#fff; box-shadow:0 24px 90px #16324d40; text-align:center; font-family:inherit; }
.bmd-suggestion-dialog:not([open]) { display:none; }
.bmd-suggestion-dialog::backdrop { background:#18344b88; backdrop-filter:blur(3px); }
.bmd-suggestion-close { position:absolute; top:14px; left:14px; width:34px; height:34px; padding:7px; }
.bmd-suggestion-dialog h2 { margin:8px 28px 12px; font-size:19px; line-height:1.7; }
.bmd-suggestion-dialog .bmd-suggestion-intro { margin:0 0 18px; font-size:12px; line-height:1.9; }
.bmd-suggestion-card { display:flex; flex-direction:column; align-items:center; gap:10px; border-top:1px solid var(--bmd-line); padding-top:18px; }
.bmd-suggestion-card .bmd-label { font-size:11px; }
.bmd-suggestion-avatar { display:grid; place-items:center; width:90px; height:90px; padding:4px; border:1px solid #d7eafa; border-radius:50%; background:#f0f8ff; }
.bmd-suggestion-avatar img { width:80px; height:80px; object-fit:cover; border-radius:50%; }
.bmd-suggestion-avatar > .bmd-icon { width:38px; height:38px; color:var(--bmd-primary); }
.bmd-suggestion-card h3 { margin:0; font-size:21px; line-height:1.7; }
.bmd-suggestion-card > p { margin:0; }
.bmd-suggestion-location, .bmd-suggestion-rating { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--bmd-muted); }
.bmd-suggestion-location .bmd-icon, .bmd-suggestion-rating .bmd-icon { width:17px; height:17px; color:var(--bmd-primary); }
.bmd-suggestion-card > .bmd-button { width:100%; margin-top:8px; }
.bmd-suggestion-card > .bmd-button + .bmd-button { margin-top:0; }
.bmd-suggestion-another { display:inline-flex; align-items:center; justify-content:center; gap:7px; margin-top:20px; padding:6px; color:var(--bmd-primary); background:transparent; border:0; font:inherit; font-size:12px; cursor:pointer; }
.bmd-suggestion-another .bmd-icon { width:15px; height:15px; }
body.bmd-suggestion-open { overflow:hidden; }
.bmd-related-profiles { margin-top:24px; }
.bmd-related-profiles .bmd-directory-slider { padding:22px 18px; margin-bottom:24px; }
.bmd-related-profiles .bmd-slider-heading h2 { font-size:19px; line-height:1.8; }
.bmd-related-profiles .bmd-profile-card { flex-basis:calc((100% - 32px) / 2.8); min-width:0; }
.bmd-related-profiles .bmd-profile-card h3 { overflow-wrap:anywhere; }
.bmd-faq details { border-bottom:1px solid var(--bmd-line); }
.bmd-faq details:last-child { border-bottom:0; }
.bmd-faq summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 0; font-size:14px; font-weight:600; line-height:1.9; list-style:none; cursor:pointer; }
.bmd-faq summary::-webkit-details-marker { display:none; }
.bmd-faq-toggle { position:relative; flex-shrink:0; width:23px; height:23px; border:1px solid #d6e7f6; border-radius:50%; background:#f2f8fd; color:var(--bmd-primary); }
.bmd-faq-toggle::before, .bmd-faq-toggle::after { content:''; position:absolute; top:10px; left:6px; width:9px; height:1px; background:currentColor; }
.bmd-faq-toggle::after { transform:rotate(90deg); }
.bmd-faq details[open] .bmd-faq-toggle::after { display:none; }
.bmd-faq details > div { padding:0 0 16px 30px; color:var(--bmd-muted); font-size:13px; line-height:2.1; overflow-wrap:anywhere; }
.bmd-faq details p { margin:0; }
.bmd-registration-page { background:linear-gradient(#eef7ff,#fff); padding:40px 16px 70px; }
.bmd-registration, .bmd-registration * { box-sizing:border-box; }
.bmd-registration { width:min(690px,100%); margin:24px auto; padding:34px; border:1px solid #dfebf5; border-radius:24px; background:#fff; color:var(--bmd-ink); font-family:inherit; box-shadow:0 10px 45px #1d4d7310; }
.bmd-registration a { text-decoration:none; }
.bmd-registration-intro { text-align:center; }
.bmd-registration-icon { display:grid; place-items:center; width:64px; height:64px; margin:auto; border-radius:20px; color:var(--bmd-primary); background:#edf7ff; }
.bmd-registration-icon .bmd-icon { width:32px; height:32px; }
.bmd-registration h2 { margin:18px 0 12px; font-size:25px; line-height:1.7; }
.bmd-registration-intro p { margin:0 0 28px; font-size:13px; line-height:2; color:var(--bmd-muted); }
.bmd-registration-form { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.bmd-registration-form label { display:flex; min-width:0; flex-direction:column; gap:10px; font-size:13px; font-weight:600; }
.bmd-registration-form b { color:var(--bmd-primary); }
.bmd-registration-form input, .bmd-registration-form select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #dbe6f0; border-radius:11px; background:#fff; color:var(--bmd-ink); font:inherit; font-size:14px; }
.bmd-registration-form select { padding-left:24px; }
.bmd-registration-form input::placeholder { color:#8a9aa8; font-size:12px; }
.bmd-registration-form .bmd-form-note { grid-column:1/-1; margin:0; font-size:12px; line-height:2; color:var(--bmd-muted); }
.bmd-registration-form > button { grid-column:1/-1; width:100%; cursor:pointer; }
.bmd-registration-form > button:disabled { opacity:.65; cursor:wait; }
.bmd-registration-form .bmd-form-honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.bmd-form-error { padding:14px 16px; margin-bottom:24px; border:1px solid #f2cece; border-radius:12px; background:#fff5f5; color:#9e3434; font-size:13px; line-height:1.9; }
.bmd-registration-success { text-align:center; padding:8px 0; }
.bmd-registration-success > .bmd-icon { width:48px; height:48px; padding:10px; border-radius:50%; background:#e7fcf4; color:#009a70; }
.bmd-registration-success h3 { margin:15px 0; font-size:21px; }
.bmd-registration-success p { margin:12px 0 24px; color:var(--bmd-muted); font-size:13px; line-height:2; }
.bmd-registration :focus-visible { outline:3px solid var(--bmd-primary); outline-offset:3px; }
@media (max-width:620px) {
  .bmd-profile-topbar { gap:10px; margin-bottom:14px; }
  .bmd-profile-topbar .bmd-register-button { margin-right:auto; min-height:36px; padding:7px 10px; font-size:10px; }
  .bmd-directory-registration .bmd-register-button { min-height:36px; padding:7px 10px; font-size:11px; }
  .bmd-suggestion { align-items:stretch; flex-direction:column; gap:14px; padding:18px 16px; margin:16px 0; border-radius:16px; }
  .bmd-suggestion strong { font-size:14px; }
  .bmd-suggestion p { font-size:12px; }
  .bmd-suggestion > .bmd-button { align-self:flex-start; font-size:12px; min-height:40px; }
  .bmd-suggestion-dialog { padding:24px 18px; border-radius:20px; }
  .bmd-suggestion-dialog h2 { font-size:16px; }
  .bmd-suggestion-card h3 { font-size:19px; }
  .bmd-related-profiles .bmd-directory-slider { padding:16px 10px; }
  .bmd-related-profiles .bmd-slider-heading h2 { font-size:15px; }
  .bmd-related-profiles .bmd-profile-card { flex-basis:calc((100% - 16px) / 2.55); }
  .bmd-faq summary { padding:15px 0; font-size:12px; gap:10px; }
  .bmd-faq details > div { font-size:12px; padding-left:12px; }
  .bmd-registration-page { padding:20px 12px 40px; }
  .bmd-registration { margin:16px auto; padding:24px 18px; border-radius:19px; }
  .bmd-registration h2 { font-size:21px; }
  .bmd-registration-form { grid-template-columns:1fr; gap:18px; }
}
