/* ── Book Consultation dropdown ─────────────────────────────── */
.book-dropdown { position: relative; display: inline-block; }

.book-dropdown-btn {
  display: inline-flex; align-items: center; gap: 7px;
  background: linear-gradient(135deg, #2ab4b4 0%, #1e9696 100%);
  color: #fff; font-family: 'DM Sans', sans-serif; font-size: 0.875rem;
  font-weight: 600; padding: 10px 20px; border-radius: 999px; border: none;
  cursor: pointer; box-shadow: 0 4px 18px rgba(42,180,180,0.35);
  transition: transform 0.2s, box-shadow 0.2s; white-space: nowrap;
}
.book-dropdown-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(42,180,180,0.45); }
.book-dropdown-btn svg { transition: transform 0.2s; flex-shrink: 0; }
.book-dropdown-btn.open svg { transform: rotate(180deg); }

.book-panel {
  display: none; position: absolute; right: 0; top: calc(100% + 10px);
  background: #fff; border-radius: 16px; min-width: 300px;
  box-shadow: 0 12px 48px rgba(9,29,56,0.16), 0 2px 12px rgba(9,29,56,0.08);
  border: 1px solid rgba(42,180,180,0.15); overflow: hidden; z-index: 200;
}
.book-panel.open { display: block; }

.book-panel-header {
  padding: 14px 18px 10px;
  border-bottom: 1px solid rgba(42,180,180,0.1);
}
.book-panel-header p {
  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: #9ca3af; margin: 0;
}

.book-location {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 18px; text-decoration: none; transition: background 0.15s;
  gap: 12px;
}
.book-location:hover { background: rgba(42,180,180,0.06); }
.book-location:not(:last-child) { border-bottom: 1px solid rgba(21,57,100,0.06); }

.book-location-name {
  font-size: 0.875rem; font-weight: 600; color: #1a2e3b; line-height: 1.3;
}
.book-location-sub {
  font-size: 0.72rem; color: #9ca3af; margin-top: 2px; font-weight: 400;
}
.book-location svg { color: #2ab4b4; flex-shrink: 0; opacity: 0.7; }
.book-location:hover svg { opacity: 1; }

.book-panel-footer {
  padding: 10px 18px 12px;
  border-top: 1px solid rgba(42,180,180,0.1);
  font-size: 0.7rem; color: #b0bec5; text-align: center;
}

.mobile-book-dropdown {
  width: 100%;
}

.mobile-book-dropdown summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  list-style: none;
}

.mobile-book-dropdown summary::-webkit-details-marker {
  display: none;
}

.mobile-book-dropdown summary svg {
  transition: transform 0.2s ease;
}

.mobile-book-dropdown[open] summary svg {
  transform: rotate(180deg);
}

.mobile-book-panel {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid rgba(42,180,180,0.15);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(9,29,56,0.08);
}

.mobile-book-header {
  padding: 12px 16px 8px;
  border-bottom: 1px solid rgba(42,180,180,0.1);
  color: #9ca3af;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mobile-book-location {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  text-decoration: none;
}

.mobile-book-location:not(:last-child) {
  border-bottom: 1px solid rgba(21,57,100,0.06);
}

.mobile-book-location span {
  color: #2ab4b4;
  font-weight: 700;
}

.mobile-book-location.disabled {
  opacity: 0.55;
}
