.bn-spec-card{
  max-width: 360px;
  margin: 0 auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(15,23,42,.12);
  padding:20px 22px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bn-spec-header h3{
  margin:0;
  font-size:1.1rem;
  font-weight:600;
  text-align:center;
}
.bn-spec-sub{
  margin-top:4px;
  text-align:center;
  font-size:.9rem;
  color:#070707;
}
.bn-spec-body{
  margin-top:16px;
  border-top:1px solid #e5e7eb;
  padding-top:12px;
}
.bn-spec-day{
  margin-bottom:14px;
}
.bn-spec-day-header{
  display:flex;
  justify-content:center;
  align-items:baseline;
  font-size:.9rem;
  margin-bottom:6px;
}
.bn-spec-day-date{font-weight:600;padding-right: 10px;}
.bn-spec-day-dow {
    color: #5c5c5c;
    font-size: 1.0rem;
}
button.bn-spec-more-day {
    color: #298078 !important;
    background-color: #ffffff;
    font-size: .9rem  !important;
    font-weight: 500  !important;
    display: block  !important;
    margin: 0 auto  !important;
}
button.bn-spec-more-day:hover, button.bn-spec-next-days:hover, .bn-spec-footer button:hover, button.bn-spec-prev-days:hover, button.bn-spec-load-more-days:hover  {
    background: none !important;
    color:#61a6a3 !important;
}
.bn-spec-day-slots{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bn-spec-slot{
  width:100%;
  border:none;
  border-radius:10px;
  padding:6px 10px;
  background:#d1fae5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  cursor:pointer;
  font-size:.9rem;
}
.bn-spec-slot-time {
    font-weight: 500;
    color: #298078;
    font-size: .9rem;
}
.bn-spec-slot-doc{
  flex:1;
  text-align:left;
}
.bn-spec-slot-price {
    font-size: .8rem;
    color: #5c5c5c;
    font-weight: 500;
}
.bn-spec-slot:hover{
  background:#a7f3d0;
}
.bn-spec-footer{
  margin-top:8px;
  display:flex;
  justify-content:space-between;
  gap:8px;
}
span.bn-spec-slot-doc {
    color: #333 !important;
    font-size: .8rem;
    font-weight: 500;
}
.bn-spec-footer button{
  border:none;
  background:transparent;
  color:#333;
  font-size:.85rem;
  cursor:pointer;
  padding:4px 0;
}
.bn-spec-footer button:hover{
  text-decoration:underline;
}
button.bn-spec-slot {
    background: #dbf4f2 !important;
    margin: 5px !important;
    border-radius: 5px !important;
    border: 1px solid #d3d7d6 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
button.bn-spec-slot:hover {
    background: #bfe3e0 !important;
}
.bn-spec-prev-days::before {
  content: "< ";
  color:#333;
}
.bn-spec-next-days::after {
  content: " >";
  color:#333;
}
.bn-spec-tooltip {
  position: fixed;
  z-index: 999999;
  display: none;
  pointer-events: none;
}

.bn-spec-tooltip.is-visible {
  display: block;
}
.bn-spec-tooltip-inner {
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.25;
  max-width: 320px;
  width: max-content;
  white-space: normal;
  box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}
.bn-spec-tooltip-arrow {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #000;
}

