.guest-tw { position: relative; }
.guest-badge {
  position: absolute;
  left: 12px; /* place inside border */
  top: 50%;
  transform: translateY(-50%);
  background: #ffffff;
  border-radius: 9999px; /* circle */
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px rgba(16,24,40,0.04);
  pointer-events: none;
  z-index: 3;
}
.guest-badge .guest-left-icon { color: #9CA3AF; width: 16px; height: 16px; display: block; }
.guest-tw-select {
  width: 100%; /* w-full */
  padding-left: 64px; /* allow badge inside */
  padding-right: 16px; /* pr-4 */
  padding-top: 12px; /* py-3 */
  padding-bottom: 12px; /* py-3 */
  border-radius: 8px; /* rounded-lg */
  border: 1px solid #D1D5DB; /* border-stone-300 */
  background-color: #ffffff;
  color: #111827;
  font-size: 16px;
  line-height: 1.2;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 48px;
  box-sizing: border-box;
}

/* hide native arrow on IE/Edge */
.guest-tw-select::-ms-expand { display: none; }

.guest-tw-select:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(16,185,129,0.12); /* focus:ring-2 focus:ring-emerald-500 */
  border-color: #10B981; /* focus:border-emerald-500 */
}

/* single right arrow */
.guest-tw::after {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

/* Reservation service cards: visible selected state */
.service-options-row .btn[data-service] {
  transition: all 0.18s ease;
  background: #ffffff;
  border-color: #e5e7eb;
  color: #111827;
  box-shadow: 0 1px 2px rgba(16,24,40,0.04);
}
.service-options-row .btn[data-service] .text-muted {
  color: #6b7280 !important;
}
.service-options-row .btn[data-service]:hover {
  border-color: #cfd7d0;
  transform: translateY(-1px);
}
.service-options-row .btn[data-service].active-service {
  background: #eefbf5;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
}
.service-options-row .btn[data-service].active-service .fw-semibold {
  color: #0f5132;
}
.service-options-row .btn[data-service].active-service .text-muted {
  color: #065f46 !important;
}