/* BeHappy Booking — nút, My Visit, trang Booking.
   Màu ghi trực tiếp, không dùng biến CSS. Đổi màu chủ đạo: tìm #963e48 thay hết.
   Nút dùng class của Flatsome (.button.primary / .is-outline / .is-small), nên màu nút
   chính lấy theo Theme Options. */

/* ---------- nút trên dòng dịch vụ ---------- */
.bh-act{
margin:0 0 0 6px}

.bh-act:first-child{
margin-left:0}

.bhb-book-inline{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px}

.bhb-book-inline .bh-act{
margin:0}

.bhb-book-price{
margin-right:4px;
font-weight:700}

/* ---------- header: My Visit + BOOK NOW ---------- */
.bhb-hd{
display:flex;
align-items:center;
gap:8px}

.bhb-hd .button{
margin:0}

.bhb-badge{
display:inline-block;
min-width:20px;
height:20px;
margin-left:4px;
padding:0 6px;
border-radius:10px;
background:#963e48;
color:#ffffff;
font-size:11px;
line-height:20px;
text-align:center;
vertical-align:middle}

.bhb-badge.is-empty{
background:#d9cdc7;
color:#2a2220}

.button.primary:not(.is-outline) .bhb-badge{
background:#ffffff;
color:#963e48}

/* ---------- nút dạng chữ (bỏ kiểu nút mặc định của Flatsome) ---------- */
.bhb-linkbtn{
display:inline;
min-height:0;
margin:0 14px 0 0;
padding:0;
border:0;
background:none;
box-shadow:none;
color:#963e48;
font-size:13.5px;
font-weight:600;
line-height:1.4;
letter-spacing:0;
text-transform:none;
text-decoration:underline;
cursor:pointer}

.bhb-linkbtn:hover{
background:none;
color:#2a2220}

/* ---------- chữ chung ---------- */
.bhb-eyebrow{
margin:0 0 6px;
font-size:12px;
font-weight:700;
letter-spacing:.12em;
text-transform:uppercase;
color:#963e48}

.bhb-h{
margin:0 0 8px}

.bhb-h3{
margin:22px 0 8px;
font-size:17px}

.bhb-sub{
margin:0 0 18px;
color:#6f625d}

.bhb-small{
margin:6px 0 0;
font-size:13px;
line-height:1.5;
color:#6f625d}

.bhb-note{
margin:14px 0;
padding:12px 14px;
border-radius:8px;
background:#f6efeb;
font-size:14px;
line-height:1.55;
color:#2a2220}

.bhb-label{
display:block;
margin:20px 0 8px;
font-size:13px;
font-weight:700;
color:#2a2220}

.bhb-msg{
margin:12px 0 0;
padding:10px 12px;
border-radius:8px;
background:#f5e4e5;
font-size:14px;
line-height:1.5;
color:#2a2220}

.bhb-msg.is-error{
background:#fbe9e9;
color:#8a1f1f}

.bhb-msg .button{
margin:8px 0 0}

/* ---------- My Visit ---------- */
.bhb-visit{
max-width:640px}

.bhb-vlist{
border-top:1px solid #e6dcd6}

.bhb-vrow{
padding:14px 0;
border-bottom:1px solid #e6dcd6}

.bhb-vname{
display:block;
font-weight:700;
color:#2a2220}

.bhb-vmeta{
font-size:13px;
color:#6f625d}

.bhb-vprice{
font-weight:700;
white-space:nowrap}

.bhb-vacts{
margin-top:6px}

.bhb-vgroup{
margin:18px 0 0;
font-size:12px;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
color:#6f625d}

.bhb-vsum{
margin-top:16px}

.bhb-total{
font-size:18px}

.bhb-vbtns{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:14px}

.bhb-vbtns .button{
margin:0}

.bhb-vempty{
padding:24px 0}

.button.is-disabled{
opacity:.45;
pointer-events:none}

/* ---------- Booking ---------- */
.bhb-booking{
max-width:640px}

.bhb-step{
padding-bottom:10px}

.bhb-search{
width:100%;
margin:0 0 6px}

.bhb-slist{
margin:0;
padding:0;
list-style:none}

.bhb-slist li{
display:flex;
align-items:center;
gap:10px;
margin:0;
padding:10px 0;
border-bottom:1px solid #e6dcd6}

.bhb-slist .bhb-sinfo{
flex:1 1 auto;
min-width:0}

.bhb-sname{
display:block;
font-weight:600;
color:#2a2220}

.bhb-sdesc{
display:block;
font-size:13px;
color:#6f625d}

.bhb-sprice{
font-weight:700;
white-space:nowrap}

.bhb-slist .button{
margin:0;
white-space:nowrap}

.bhb-all-group{
margin:18px 0 4px;
font-size:12px;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
color:#6f625d}

.bhb-empty{
padding:10px 0;
font-size:14px;
color:#6f625d}

.bhb-notsure{
display:flex;
align-items:flex-start;
gap:10px;
margin:18px 0 0;
padding:12px 14px;
border:1px solid #e6dcd6;
border-radius:8px;
font-weight:400;
cursor:pointer}

.bhb-notsure input{
margin:4px 0 0}

.bhb-bar{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:flex-end;
gap:10px;
margin-top:22px;
padding-top:16px;
border-top:1px solid #e6dcd6}

.bhb-bar .bhb-small{
flex:1 1 auto;
margin:0}

.bhb-bar .button{
margin:0}

.bhb-chosen{
padding:12px 14px;
border-radius:8px;
background:#f6efeb}

.bhb-chosen-list{
margin:0 0 4px;
padding:0;
list-style:none}

.bhb-chosen-list li{
margin:0;
font-weight:600}

.bhb-chosen .bhb-linkbtn{
margin-top:6px}

/* nút lựa chọn (số khách, salon): chưa chọn = outline, đã chọn = nền đặc */
.bhb-opts{
display:flex;
flex-wrap:wrap;
gap:8px}

.bhb-opts .button{
min-width:56px;
margin:0}

.bhb-salon-opts .button{
min-width:120px}

.bhb-date{
width:100%;
max-width:340px;
margin:0}

/* giờ đến */
.bhb-times{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px}

.bhb-times > p{
grid-column:1 / -1;
margin:0}

.bhb-times .button{
width:100%;
margin:0;
padding-left:4px;
padding-right:4px;
text-transform:none}

.bhb-times .button.bhb-full{
border-color:#e6dcd6;
background:#f6efeb;
color:#a39894;
text-decoration:line-through;
box-shadow:none}

/* form */
.bhb-fld{
margin:0 0 14px}

.bhb-fld label{
display:block;
margin-bottom:5px;
font-size:13px;
font-weight:700;
color:#2a2220}

.bhb-fld input,
.bhb-fld textarea{
width:100%;
margin:0}

.bhb-hp{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden}

/* xem lại / đã đặt */
.bhb-review{
display:grid;
grid-template-columns:110px 1fr;
gap:8px 14px;
margin:0;
padding:14px 0;
border-top:1px solid #e6dcd6;
border-bottom:1px solid #e6dcd6}

.bhb-review dt{
margin:0;
font-size:13px;
font-weight:700;
color:#6f625d}

.bhb-review dd{
margin:0;
color:#2a2220}

/* ---------- thông báo nhỏ + hộp hỏi ---------- */
.bhb-toast{
position:fixed;
left:50%;
bottom:20px;
z-index:9999;
max-width:92%;
padding:10px 16px;
border-radius:8px;
background:#2a2220;
color:#ffffff;
font-size:14px;
box-shadow:0 6px 24px rgba(0,0,0,.2);
transform:translateX(-50%)}

.bhb-toast a{
margin-left:8px;
color:#ffffff;
font-weight:700;
text-decoration:underline}

.bhb-modal{
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
z-index:10000;
display:flex;
align-items:center;
justify-content:center;
padding:16px;
background:rgba(42,34,32,.55)}

.bhb-modal-box{
width:100%;
max-width:420px;
padding:22px;
border-radius:10px;
background:#ffffff}

.bhb-modal-box h3{
margin:0 0 8px}

.bhb-modal-box p{
color:#6f625d}

.bhb-modal-box .button{
display:block;
width:100%;
margin:0 0 8px}

/* ---------- salon ---------- */
.bhb-hours{
width:100%;
margin:8px 0 14px;
font-size:14px}

.bhb-hours th,
.bhb-hours td{
padding:4px 0;
border-bottom:1px solid #e6dcd6;
text-align:left}

.bhb-hours th{
width:42%;
font-weight:600;
color:#2a2220}

.bhb-salon-line{
margin:0 0 12px}

.bhb-salon-name{
margin:0 0 6px}

.bhb-salon-name a{
color:inherit}

.bhb-salon-addr{
margin:0;
color:#6f625d}

.bhb-map{
position:relative;
width:100%;
padding-top:75%;
overflow:hidden;
border-radius:10px;
background:#efe5df}

.bhb-map iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border:0}

/* ---------- máy tính ---------- */
@media (min-width:850px){
.bhb-times{
grid-template-columns:repeat(4, minmax(0, 1fr))}

.bhb-review{
grid-template-columns:150px 1fr}
}
