/* Phase 2.9 — UI Consistency Layer */
:root {
  --ths-ui-btn-min-height: 46px;
  --ths-ui-btn-padding-x: clamp(12px, 2vw, 16px);
  --ths-ui-btn-radius: 999px;
  --ths-ui-btn-font-size: clamp(12px, 1.55vw, 14px);
  --ths-ui-btn-gap: 8px;
  --ths-ui-icon-size: clamp(16px, 2.2vw, 18px);
}

.ths-vc__btn,
.ths-vc__wechatBtn,
.ths-lux-floating__item,
.ths-cta-rail__link {
  min-height: var(--ths-ui-btn-min-height);
  border-radius: var(--ths-ui-btn-radius);
}

.ths-vc__btn,
.ths-vc__wechatBtn,
.ths-lux-floating__item {
  font-size: var(--ths-ui-btn-font-size) !important;
  line-height: 1.15;
}

.ths-vc__btn {
  padding-inline: var(--ths-ui-btn-padding-x);
  gap: var(--ths-ui-btn-gap);
}

.ths-vc__btnText,
.ths-lux-floating__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ths-vc__btnIcon,
.ths-lux-floating__icon,
.ths-cta-rail__icon img,
.ths-cta-rail__icon {
  width: var(--ths-ui-icon-size);
  height: var(--ths-ui-icon-size);
  flex: 0 0 auto;
}

.ths-lux-floating__item {
  gap: var(--ths-ui-btn-gap);
}

@media (max-width: 768px) {
  .ths-vc__btn,
  .ths-vc__wechatBtn {
    min-width: 0;
    width: 100%;
    justify-content: center;
    padding-inline: 12px;
  }

  .ths-vc__actions {
    gap: 10px;
  }

  .ths-lux-floating__label {
    font-size: 12px;
  }
}

/* PHASE 1 MOBILE PATCH */
@media(max-width:768px){
  .booking-layout{display:flex!important;flex-direction:column!important;}
  .booking-right{position:relative!important;top:auto!important;}
  .summary-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:999;padding:12px;}
  .service-chip{font-size:16px!important;padding:10px 14px!important;margin:4px;}
}
