
/* L4-P7 v2 — Module-specific refinement wave 1
   Scope: price-menu + voucher-contact only
   Hero/banner intentionally excluded
   Safe layer only: no PHP/data/query changes
*/

/* ------------------------------
   Price menu refinement
------------------------------ */
.ths-price-menu{
  border-radius:28px;
  box-shadow:0 14px 40px rgba(44,30,20,.07);
}

.ths-price-menu__head{
  margin-bottom:24px;
}

.ths-price-menu__title,
.ths-price-group__title,
.ths-price-item__name{
  text-wrap:balance;
}

.ths-price-group{
  position:relative;
}

.ths-price-group + .ths-price-group{
  margin-top:30px;
  padding-top:28px;
}

.ths-price-item{
  border-radius:22px;
}

.ths-price-item__inner{
  border-radius:22px;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ths-price-item:hover .ths-price-item__inner{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(44,30,20,.09);
}

.ths-price-item__label{
  border-radius:999px;
  padding:7px 12px;
  letter-spacing:.03em;
  box-shadow:0 8px 20px rgba(42,24,8,.08);
}

.ths-price-item__excerpt{
  max-width:62ch;
}

.ths-price-item__coupon{
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(184,135,88,.10);
}

.ths-price-item__actions{
  gap:10px;
}

.ths-price-item__toggle,
.ths-price-item__detail-link,
.ths-price-menu-sidebar-fallback__button{
  min-height:44px;
  border-radius:999px;
}

.ths-price-menu-page__sidebar{
  align-self:start;
}

.ths-price-menu-sidebar-fallback__card{
  border-radius:24px;
  box-shadow:0 14px 32px rgba(44,30,20,.07);
}

/* ------------------------------
   Voucher contact refinement
------------------------------ */
.ths-vc{
  padding-top:52px;
  padding-bottom:40px;
}

.ths-vc__wrap{
  max-width:min(1240px, calc(100% - 32px));
}

.ths-vc__grid{
  gap:18px;
}

.ths-vc__card{
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(58,36,18,.08);
}

.ths-vc__card--voucher,
.ths-vc__card--contact{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(251,247,242,.98));
}

.ths-vc__title,
.ths-vc__contactTitle{
  text-wrap:balance;
}

.ths-vc__subtitle,
.ths-vc__note{
  text-wrap:pretty;
}

.ths-vc__timePill{
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(183,134,69,.12);
}

.ths-vc__btn{
  min-height:48px;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(58,36,18,.10);
}

.ths-vc__apps{
  gap:10px;
}

.ths-vc__app{
  border-radius:16px;
  box-shadow:0 10px 20px rgba(58,36,18,.06);
}

/* ------------------------------
   Responsive tune
------------------------------ */
@media (max-width: 1024px){
  .ths-price-menu{
    border-radius:24px;
  }

  .ths-vc__card{
    border-radius:24px;
  }
}

@media (max-width: 767px){
  .ths-price-menu{
    padding:18px;
    border-radius:22px;
  }

  .ths-price-item__inner{
    border-radius:18px;
  }

  .ths-vc{
    padding-top:40px;
    padding-bottom:30px;
  }

  .ths-vc__wrap{
    max-width:min(100% - 20px, 100%);
  }

  .ths-vc__card{
    border-radius:22px;
  }
}

/* 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;}
}
