.ths-vc{
  --ths-vc-bg-1:#f7f3ee;
  --ths-vc-bg-2:#efe8df;
  --ths-vc-card:#ffffff;
  --ths-vc-stroke:rgba(106,74,47,.10);
  --ths-vc-shadow:0 14px 30px rgba(58,36,18,.07);
  --ths-vc-shadow-soft:0 10px 22px rgba(58,36,18,.05);
  --ths-vc-title:#4a3426;
  --ths-vc-text:#55453a;
  --ths-vc-muted:#7e6f63;
  --ths-vc-accent:#ef4a3c;
  --ths-vc-accent-strong:#dc3f31;
  --ths-vc-dark:#102b57;
  --ths-vc-gold:#b78645;
  --ths-vc-app-surface:rgba(255,255,255,.42);
  --ths-vc-app-surface-hover:rgba(255,255,255,.56);
  --ths-vc-app-ring:rgba(255,255,255,.72);
  position:relative;
  padding:46px 0 34px;
  background:linear-gradient(180deg,var(--ths-vc-bg-1) 0%, var(--ths-vc-bg-2) 100%);
}

.ths-vc,
.ths-vc *{
  box-sizing:border-box;
}

.ths-vc a{
  text-decoration:none;
}

.ths-vc__wrap{
  width:min(100%, 1380px);
  margin:0 auto;
  padding:0 20px;
}

.ths-vc__grid{
  display:grid;
  grid-template-columns:minmax(300px, 1.02fr) minmax(420px, 1.5fr) minmax(320px, 1fr);
  gap:18px;
  align-items:stretch;
}

.ths-vc__card{
  position:relative;
  background:var(--ths-vc-card);
  border:1px solid var(--ths-vc-stroke);
  border-radius:28px;
  box-shadow:var(--ths-vc-shadow);
  overflow:hidden;
}

.ths-vc__card--image{
  min-height:100%;
}

.ths-vc__image,
.ths-vc__imagePlaceholder{
  display:block;
  width:100%;
  height:100%;
  min-height:650px;
  aspect-ratio:4 / 8;
  border-radius:28px;
}

.ths-vc__image{
  object-fit:cover;
  object-position:center;
}

.ths-vc__imagePlaceholder{
  background:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 100%),
    linear-gradient(135deg, #dccbb8 0%, #c5a98d 100%);
}

.ths-vc__card--voucher{
  isolation:isolate;
}

.ths-vc__midBg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:var(--thsVCMidBg, none);
  background-size:cover;
  background-position:center;
  opacity:var(--thsVCMidOpacity, .20);
  transform:scale(1.02);
}

.ths-vc__midBg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.95) 100%);
}

.ths-vc__content{
  position:relative;
  z-index:1;
  padding:28px 30px 30px;
}

.ths-vc__eyebrow,
.ths-vc__contactEyebrow{
  display:block;
  margin:0 0 12px;
  text-align:center;
  color:var(--ths-vc-gold);
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ths-vc__title{
  margin:0;
  text-align:center;
  color:var(--ths-vc-title);
  font-size:clamp(34px, 2.7vw, 58px);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.035em;
}

.ths-vc__subtitle{
  max-width:700px;
  margin:12px auto 0;
  text-align:center;
  color:var(--ths-vc-muted);
  font-size:16px;
  line-height:1.65;
  font-weight:700;
}

.ths-vc__timeRow{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.ths-vc__timePill{
  min-width:110px;
  padding:12px 18px;
  border-radius:999px;
  background:linear-gradient(180deg,#143567 0%, #102b57 100%);
  color:#fff;
  text-align:center;
  font-size:16px;
  line-height:1;
  font-weight:900;
  box-shadow:0 10px 22px rgba(16,43,87,.18);
}

.ths-vc__timeDash{
  color:#77695d;
  font-size:20px;
  line-height:1;
  font-weight:900;
}

.ths-vc__meta{
  margin-top:18px;
  text-align:center;
}

.ths-vc__codeLabel{
  display:block;
  margin-bottom:8px;
  color:#8a7a6e;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.ths-vc__codeValue{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#fff;
  border:1px dashed rgba(239,74,60,.28);
  color:#24180f;
  font-size:18px;
  line-height:1;
  font-weight:900;
  letter-spacing:.03em;
}

.ths-vc__range{
  margin-top:12px;
  color:#8a7a6e;
  font-size:14px;
  line-height:1.55;
  font-weight:700;
}

.ths-vc__bullets{
  margin:24px 0 0;
  padding:18px;
  list-style:none;
  display:grid;
  gap:16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(106,74,47,.08);
  border-radius:22px;
  box-shadow:var(--ths-vc-shadow-soft);
}

.ths-vc__bullets li{
  position:relative;
  padding-left:22px;
  color:var(--ths-vc-text);
  font-size:15px;
  line-height:1.72;
  font-weight:700;
}

.ths-vc__bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.82em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ths-vc-accent);
  transform:translateY(-50%);
}

.ths-vc__note{
  margin-top:18px;
  text-align:center;
  color:#8a7a6e;
  font-size:14px;
  line-height:1.7;
  font-weight:700;
}

.ths-vc__actions{
  margin-top:22px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:nowrap;
}

.ths-vc__btn{
  position:relative;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px;
  width:auto;
  min-width:230px;
  max-width:none;
  min-height:58px;
  padding:0 26px;
  border-radius:999px;
  border:1px solid transparent;
  text-decoration:none !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}

.ths-vc__btnText{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.ths-vc__btn:hover{
  transform:translateY(-2px);
}

.ths-vc__btn--primary{
  color:#111 !important;
  background:linear-gradient(180deg, #ff8a1f 0%, #ff6a00 100%) !important;
  box-shadow:0 14px 28px rgba(255,106,0,.22);
}

.ths-vc__btn--primary,
.ths-vc__btn--primary:link,
.ths-vc__btn--primary:visited,
.ths-vc__btn--primary:hover,
.ths-vc__btn--primary:focus{
  color:#201813 !important;
}

.ths-vc__btn--ghost{
  color:#2e2119 !important;
  background:#fff !important;
  border:1px solid rgba(106,74,47,.14) !important;
  box-shadow:0 10px 20px rgba(58,36,18,.05);
}

.ths-vc__btn--ghost,
.ths-vc__btn--ghost:link,
.ths-vc__btn--ghost:visited,
.ths-vc__btn--ghost:hover,
.ths-vc__btn--ghost:focus{
  color:#2e2119 !important;
}

.ths-vc__btn--ghost:hover{
  border-color:rgba(239,74,60,.24) !important;
  color:var(--ths-vc-accent) !important;
}

.ths-vc__btnIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  flex:0 0 auto;
}

.ths-vc__btnIcon--calendar{
  width:22px;
  height:22px;
}

.ths-vc__calendarSvg{
  display:block;
  width:22px;
  height:22px;
}

.ths-vc__calendarSvg rect{
  fill:rgba(255,255,255,.18);
  stroke:#2e2119;
  stroke-width:1.8;
}

.ths-vc__calendarSvg path{
  fill:none;
  stroke:#2e2119;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ths-vc__btnIcon--dot{
  font-size:13px;
}

.ths-vc__card--contact{
  padding:22px 18px 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.94) 100%);
}

.ths-vc__contactHead{
  margin-bottom:16px;
}

.ths-vc__contactTitle{
  margin:0;
  text-align:center;
  color:var(--ths-vc-title);
  font-size:24px;
  line-height:1.15;
  font-weight:900;
}

.ths-vc__apps{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.ths-vc__app{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:100px;
  padding:14px 10px;
  text-align:center;
  background:var(--ths-vc-app-surface);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(106,74,47,.08);
  border-radius:20px;
  box-shadow:none;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.ths-vc__app:hover{
  transform:translateY(-2px);
  background:var(--ths-vc-app-surface-hover);
  border-color:rgba(239,74,60,.18);
}

.ths-vc__appIcon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:62px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--ths-vc-app-ring);
  box-shadow:0 4px 12px rgba(58,36,18,.05);
}

.ths-vc__appLabel{
  color:var(--ths-vc-text);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.01em;
}

.ths-vc__appImg,
.ths-vc__appIcon svg{
  width:24px;
  height:24px;
  display:block;
}

.ths-vc__icon-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  font-size:12px;
  font-weight:800;
  color:#4a3426;
}

@media (max-width: 1200px){
  .ths-vc__grid{
    grid-template-columns:1fr;
  }

  .ths-vc__image,
  .ths-vc__imagePlaceholder{
    min-height:420px;
    aspect-ratio:auto;
  }

  .ths-vc__card--contact{
    padding:22px 20px;
  }

  .ths-vc__apps{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .ths-vc{
    padding:28px 0 24px;
  }

  .ths-vc__wrap{
    padding:0 14px;
  }

  .ths-vc__content{
    padding:22px 18px 22px;
  }

  .ths-vc__title{
    font-size:34px;
  }

  .ths-vc__subtitle{
    font-size:14px;
    line-height:1.6;
  }

  .ths-vc__bullets{
    gap:12px;
    padding:16px;
  }

  .ths-vc__bullets li{
    font-size:14px;
    line-height:1.65;
  }

  .ths-vc__actions{
    flex-direction:row;
    gap:10px;
    flex-wrap:nowrap;
  }

  .ths-vc__btn{
    flex:1 1 0;
    min-width:0;
    width:calc(50% - 5px);
    min-height:52px;
    padding:0 14px;
    gap:8px;
    font-size:15px !important;
  }

  .ths-vc__btnIcon--calendar{
    width:20px;
    height:20px;
  }

  .ths-vc__calendarSvg{
    width:20px;
    height:20px;
  }

  .ths-vc__btnText{
    min-width:0;
  }

  .ths-vc__contactTitle{
    font-size:22px;
  }

  .ths-vc__apps{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
  }

  .ths-vc__app{
    min-height:86px;
    padding:12px 8px;
    gap:8px;
    border-radius:18px;
  }

  .ths-vc__appIcon{
    width:48px;
    height:48px;
  }

  .ths-vc__appImg,
  .ths-vc__appIcon svg{
    width:20px;
    height:20px;
  }

  .ths-vc__appLabel{
    font-size:12px;
    line-height:1.25;
  }
}

@media (max-width: 520px){
  .ths-vc__apps{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .ths-vc__card--contact{
    padding:20px 14px 16px;
  }

  .ths-vc__app{
    min-height:92px;
  }
}

.ths-vc__empty{padding:18px 22px;border:1px dashed rgba(106,74,47,.18);border-radius:18px;background:rgba(255,255,255,.6);color:var(--ths-vc-muted);font-size:14px;line-height:1.6;text-align:center;margin:8px 24px 24px;}


.ths-vc__apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 18px 22px;align-content:start}
.ths-vc__card--contact{display:flex;flex-direction:column;justify-content:flex-start;padding:20px 0 22px}
.ths-vc__contactHead{padding:8px 22px 18px}
.ths-vc__contactTitle{margin:0;text-align:center;color:var(--ths-vc-title);font-size:clamp(28px,2vw,46px);line-height:1.08;font-weight:900;letter-spacing:-.03em}
.ths-vc__app{min-height:132px;padding:18px 16px 16px;border-radius:24px;border:1px solid rgba(106,74,47,.08);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.84));box-shadow:0 10px 24px rgba(58,36,18,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.ths-vc__app:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(58,36,18,.09);border-color:rgba(183,134,69,.22)}
.ths-vc__appIcon{width:62px;height:62px;border-radius:999px;background:linear-gradient(180deg,#fff,#faf6f1);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(58,36,18,.06)}
.ths-vc__appIcon img,.ths-vc__appIcon svg{max-width:28px;max-height:28px}
.ths-vc__appLabel{font-size:16px;line-height:1.2;font-weight:800;color:var(--ths-vc-title)}
.ths-vc__wechatModal[hidden]{display:none!important}
.ths-vc__wechatModal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.ths-vc__wechatBackdrop{position:absolute;inset:0;background:rgba(34,20,10,.42);backdrop-filter:blur(8px)}
.ths-vc__wechatDialog{position:relative;width:min(100%,560px);border-radius:34px;background:linear-gradient(180deg,#fff 0%,#fcf8f3 100%);border:1px solid rgba(106,74,47,.08);box-shadow:0 26px 70px rgba(23,15,8,.20);padding:26px 26px 22px}
.ths-vc__wechatClose{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:999px;background:#f5eee6;color:#6d594b;font-size:28px;line-height:1;cursor:pointer}
.ths-vc__wechatEyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ths-vc-gold);text-align:center;margin-bottom:10px}
.ths-vc__wechatTitle{margin:0;text-align:center;color:var(--ths-vc-title);font-size:clamp(28px,2.2vw,40px);line-height:1.08;font-weight:900}
.ths-vc__wechatDesc{margin:10px auto 0;max-width:420px;text-align:center;color:var(--ths-vc-muted);font-size:15px;line-height:1.65;font-weight:600}
.ths-vc__wechatBody{margin-top:22px;display:grid;grid-template-columns:1fr 188px;gap:18px;align-items:start}
.ths-vc__wechatInfo{min-height:132px;border-radius:24px;padding:18px 20px;background:#f7f1ea;border:1px solid rgba(106,74,47,.08);display:flex;flex-direction:column;justify-content:center}
.ths-vc__wechatInfoLabel{font-size:13px;font-weight:700;color:var(--ths-vc-muted);margin-bottom:10px}
.ths-vc__wechatInfoValue{font-size:34px;line-height:1.05;font-weight:900;color:var(--ths-vc-title);word-break:break-word}
.ths-vc__wechatQrWrap{border-radius:24px;padding:12px;background:#fff;border:1px solid rgba(106,74,47,.08);box-shadow:0 12px 28px rgba(58,36,18,.06)}
.ths-vc__wechatQr{display:block;width:100%;height:auto;border-radius:18px}
.ths-vc__wechatActions{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ths-vc__wechatBtn{min-height:52px;border-radius:999px;border:1px solid rgba(106,74,47,.10);display:inline-flex;align-items:center;justify-content:center;padding:0 18px;font-size:16px;font-weight:900;letter-spacing:.01em;text-decoration:none;cursor:pointer}
.ths-vc__wechatBtn--primary{background:linear-gradient(180deg,#ff5e4c,#ef4a3c);border-color:transparent;color:#fff;box-shadow:0 14px 26px rgba(239,74,60,.22)}
.ths-vc__wechatBtn--ghost{background:#fff;color:var(--ths-vc-title)}
.ths-vc__wechatToast{margin-top:12px;text-align:center;color:#11845b;font-size:13px;font-weight:800;opacity:0;transform:translateY(4px);transition:all .18s ease}
.ths-vc__wechatToast.is-visible{opacity:1;transform:translateY(0)}
html.ths-vc-modal-open,html.ths-vc-modal-open body{overflow:hidden}
@media (max-width: 900px){.ths-vc__wechatDialog{padding:22px 18px 18px;border-radius:28px}.ths-vc__wechatBody{grid-template-columns:1fr}.ths-vc__wechatQrWrap{max-width:220px;margin:0 auto}.ths-vc__wechatActions{grid-template-columns:1fr}.ths-vc__contactTitle{font-size:clamp(24px,7vw,36px)}.ths-vc__app{min-height:124px}}


/* PHASE 27.8.2-RS — WeChat popup luxury rebalance */
.ths-vc__wechatDialog{
  width:min(92vw, 680px);
  margin:0 auto;
  background:linear-gradient(180deg,#fffdfa 0%,#fffaf5 100%);
  border:1px solid rgba(106,74,47,.10);
  border-radius:32px;
  box-shadow:0 24px 70px rgba(47,31,18,.18);
  overflow:hidden;
}

.ths-vc__wechatHead{
  padding:26px 30px 10px;
  text-align:center;
}

.ths-vc__wechatEyebrow{
  display:block;
  margin:0 0 8px;
  color:var(--ths-vc-gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.ths-vc__wechatTitle{
  margin:0;
  color:var(--ths-vc-title);
  font-size:clamp(30px,3vw,46px);
  line-height:1.06;
  font-weight:900;
  letter-spacing:-.03em;
}

.ths-vc__wechatDesc{
  max-width:520px;
  margin:12px auto 0;
  color:#7a6b5f;
  font-size:15px;
  line-height:1.75;
  font-weight:700;
}

.ths-vc__wechatBody{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(200px,240px);
  gap:18px;
  align-items:start;
  padding:14px 30px 0;
}

.ths-vc__wechatModal:not(.has-qr) .ths-vc__wechatBody{
  grid-template-columns:minmax(0,1fr);
}

.ths-vc__wechatInfo{
  min-height:160px;
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(180deg,#f4eee7 0%,#f0e8de 100%);
  border:1px solid rgba(106,74,47,.08);
}

.ths-vc__wechatInfoLabel,.ths-vc__wechatQrLabel{
  display:block;
  margin:0 0 10px;
  color:#8b7b6f;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}

.ths-vc__wechatInfoValue{
  display:block;
  color:var(--ths-vc-title);
  font-size:clamp(26px,2.6vw,34px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
  word-break:break-word;
}

.ths-vc__wechatQrWrap{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(106,74,47,.08);
  box-shadow:0 12px 26px rgba(58,36,18,.06);
  text-align:center;
}

.ths-vc__wechatQr{
  display:block;
  width:min(100%, 180px);
  aspect-ratio:1 / 1;
  height:auto;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  object-fit:contain;
}

.ths-vc__wechatActions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:22px 30px 30px;
  flex-wrap:wrap;
}

.ths-vc__wechatBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  min-height:52px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.ths-vc__wechatBtn:hover{ transform:translateY(-2px); }

.ths-vc__wechatBtn--primary{
  color:#fff !important;
  background:linear-gradient(180deg,#f85b4c 0%, #ef4739 100%) !important;
  box-shadow:0 14px 28px rgba(228,68,50,.18);
}

.ths-vc__wechatBtn--ghost{
  color:var(--ths-vc-title) !important;
  background:#fff !important;
  border-color:rgba(106,74,47,.12) !important;
  box-shadow:0 10px 22px rgba(58,36,18,.05);
}

.ths-vc__wechatToast{
  margin:0 auto 24px;
  width:max-content;
  max-width:calc(100% - 40px);
  padding:10px 16px;
  border-radius:999px;
  background:#2f241c;
  color:#fff;
  font-size:13px;
  font-weight:800;
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.ths-vc__wechatToast.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 767px){
  .ths-vc__wechatDialog{ width:min(92vw, 560px); border-radius:28px; }
  .ths-vc__wechatHead{ padding:22px 18px 8px; }
  .ths-vc__wechatDesc{ font-size:14px; line-height:1.65; }
  .ths-vc__wechatBody{ grid-template-columns:1fr; padding:12px 18px 0; gap:14px; }
  .ths-vc__wechatInfo{ min-height:0; padding:18px 18px; border-radius:22px; }
  .ths-vc__wechatQrWrap{ padding:16px; border-radius:22px; }
  .ths-vc__wechatQr{ width:min(100%, 170px); }
  .ths-vc__wechatActions{ padding:18px 18px 24px; gap:10px; }
  .ths-vc__wechatBtn{ flex:1 1 calc(50% - 5px); min-width:0; min-height:48px; padding:0 14px; font-size:14px; }
}


/* T4-B.2 — voucher-contact visual upgrade override */
.ths-vc{
  --ths-vc-bg-1:#f5f0e9;
  --ths-vc-bg-2:#efe8df;
  --ths-vc-card:#fffdfa;
  padding:40px 0 30px;
}

.ths-vc__grid{
  grid-template-columns:minmax(280px,.92fr) minmax(420px,1.32fr) minmax(290px,.92fr);
  gap:16px;
}

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

.ths-vc__image,
.ths-vc__imagePlaceholder{
  min-height:0;
  height:100%;
  aspect-ratio:3 / 4.2;
  border-radius:24px;
}

.ths-vc__content{
  padding:24px 26px 24px;
}

.ths-vc__eyebrow,
.ths-vc__contactEyebrow{
  margin-bottom:10px;
  letter-spacing:.14em;
}

.ths-vc__title{
  font-size:clamp(28px,2.45vw,46px);
  line-height:1.06;
  letter-spacing:-.028em;
  max-width:540px;
  margin-inline:auto;
}

.ths-vc__subtitle{
  margin-top:10px;
  max-width:560px;
  font-size:15px;
  line-height:1.6;
  font-weight:700;
}

.ths-vc__timeRow{margin-top:16px; gap:10px;}
.ths-vc__timePill{
  min-width:98px;
  padding:10px 16px;
  font-size:15px;
}

.ths-vc__meta{margin-top:16px;}
.ths-vc__codeValue{font-size:17px; padding:9px 16px;}
.ths-vc__range{margin-top:10px; font-size:13px;}

.ths-vc__bullets{
  margin-top:20px;
  padding:16px 18px;
  gap:12px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
}
.ths-vc__bullets li{
  font-size:14px;
  line-height:1.62;
  padding-left:18px;
}
.ths-vc__bullets li::before{width:7px; height:7px;}

.ths-vc__note{
  margin-top:14px;
  font-size:13px;
  line-height:1.6;
}

.ths-vc__actions{
  margin-top:18px;
  gap:12px;
}

.ths-vc__btn{
  min-width:0;
  min-height:50px;
  padding:0 20px;
  font-size:15px !important;
  gap:10px;
}

.ths-vc__card--contact{
  padding:18px 0 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(252,248,243,.96) 100%);
}

.ths-vc__contactHead{padding:6px 18px 14px; margin-bottom:0;}
.ths-vc__contactTitle{
  font-size:clamp(22px,1.9vw,36px);
  line-height:1.08;
  letter-spacing:-.02em;
}

.ths-vc__apps{
  gap:12px;
  padding:0 14px 16px;
}

.ths-vc__app{
  min-height:110px;
  padding:14px 12px;
  gap:10px;
  border-radius:18px;
  background:#fff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 6px 16px rgba(58,36,18,.04);
}

.ths-vc__app:hover{
  background:#fff;
  box-shadow:0 12px 22px rgba(58,36,18,.08);
  border-color:rgba(183,134,69,.22);
}

.ths-vc__appIcon{
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ths-vc__appImg,
.ths-vc__appIcon svg{
  width:28px;
  height:28px;
}

.ths-vc__appLabel{
  font-size:15px;
  line-height:1.25;
}

@media (max-width: 1200px){
  .ths-vc__grid{grid-template-columns:1fr; gap:14px;}
  .ths-vc__image,.ths-vc__imagePlaceholder{aspect-ratio:16 / 10;}
  .ths-vc__apps{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width: 767px){
  .ths-vc{padding:24px 0 20px;}
  .ths-vc__wrap{padding:0 12px;}
  .ths-vc__content{padding:20px 16px 20px;}
  .ths-vc__title{font-size:32px;}
  .ths-vc__subtitle{font-size:14px;}
  .ths-vc__actions{gap:10px;}
  .ths-vc__btn{min-height:48px; padding:0 12px; font-size:14px !important;}
  .ths-vc__contactHead{padding:4px 14px 12px;}
  .ths-vc__apps{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 12px 14px;}
  .ths-vc__app{min-height:92px; border-radius:16px; padding:12px 10px;}
  .ths-vc__appImg,.ths-vc__appIcon svg{width:24px; height:24px;}
  .ths-vc__appLabel{font-size:13px;}
}


/* T4-C1 hotfix override — target live selectors, keep full image */
.ths-vc{
  padding:38px 0 28px;
}

.ths-vc__grid{
  grid-template-columns:minmax(280px, .92fr) minmax(420px, 1.42fr) minmax(300px, .92fr);
  gap:22px;
  align-items:stretch;
}

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

.ths-vc__card--image{
  min-height:unset;
  aspect-ratio:auto;
  display:flex;
}

.ths-vc__image,
.ths-vc__imagePlaceholder{
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.ths-vc__content{
  padding:24px 28px 24px;
}

.ths-vc__eyebrow,
.ths-vc__contactEyebrow{
  margin:0 0 10px;
}

.ths-vc__title{
  font-size:clamp(30px, 2.4vw, 50px);
  line-height:1.03;
}

.ths-vc__subtitle{
  margin:10px auto 0;
  font-size:15px;
  line-height:1.55;
}

.ths-vc__timeRow{
  margin-top:14px;
  gap:10px;
}

.ths-vc__timePill{
  min-width:102px;
  padding:11px 16px;
  font-size:15px;
}

.ths-vc__timeDash{
  font-size:17px;
}

.ths-vc__meta{
  margin-top:14px;
}

.ths-vc__codeLabel{
  margin-bottom:6px;
  font-size:13px;
}

.ths-vc__codeValue{
  padding:9px 16px;
  font-size:17px;
}

.ths-vc__range{
  margin-top:10px;
  font-size:13px;
}

.ths-vc__bullets{
  margin-top:18px;
  padding:16px 18px;
  gap:12px;
  border-radius:18px;
}

.ths-vc__bullets li{
  font-size:14px;
  line-height:1.62;
}

.ths-vc__note{
  margin-top:14px;
  font-size:13px;
  line-height:1.55;
}

.ths-vc__actions{
  margin-top:16px;
  gap:12px;
}

.ths-vc__btn{
  min-width:208px;
  min-height:52px;
  padding:0 22px;
  font-size:16px !important;
}

.ths-vc__card--contact{
  padding:18px 0 18px;
}

.ths-vc__contactHead{
  padding:6px 18px 14px;
}

.ths-vc__contactTitle{
  font-size:clamp(24px,1.8vw,42px);
  line-height:1.08;
}

.ths-vc__apps{
  gap:10px;
  padding:0 14px 18px;
}

.ths-vc__app{
  min-height:108px;
  padding:14px 12px 12px;
  gap:10px;
  border-radius:18px;
  background:#fff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 8px 18px rgba(58,36,18,.04);
}

.ths-vc__app:hover{
  box-shadow:0 14px 24px rgba(58,36,18,.08);
}

.ths-vc__appIcon{
  width:38px;
  height:38px;
  background:transparent;
  border:0;
  box-shadow:none;
}

.ths-vc__appIcon img,
.ths-vc__appIcon svg,
.ths-vc__appImg,
.ths-vc__appIcon svg{
  width:24px;
  height:24px;
  max-width:24px;
  max-height:24px;
}

.ths-vc__appLabel{
  font-size:13px;
  line-height:1.25;
}

@media (max-width: 1200px){
  .ths-vc__grid{grid-template-columns:1fr;}
  .ths-vc__card--image{min-height:auto;}
  .ths-vc__image,.ths-vc__imagePlaceholder{min-height:420px;}
  .ths-vc__apps{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width: 767px){
  .ths-vc{padding:28px 0 22px;}
  .ths-vc__content{padding:22px 18px 22px;}
  .ths-vc__title{font-size:34px;}
  .ths-vc__apps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 12px 14px;}
  .ths-vc__app{min-height:82px;padding:10px 8px;gap:6px;border-radius:16px;}
  .ths-vc__appIcon{width:30px;height:30px;}
  .ths-vc__appLabel{font-size:12px;}
  .ths-vc__btn{min-height:50px;padding:0 14px;min-width:0;}
}

@media (max-width: 520px){
  .ths-vc__apps{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* L4 booking UI cleanup — simplify voucher contact app surface */
.ths-vc__card--contact{
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%, rgba(250,246,241,.92) 100%);
}
.ths-vc__apps{
  gap:14px 12px;
  padding:2px 18px 18px;
}
.ths-vc__app{
  min-height:74px;
  padding:8px 6px;
  gap:8px;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.ths-vc__app:hover{
  transform:translateY(-1px);
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.ths-vc__appIcon{
  width:42px;
  height:42px;
}
.ths-vc__appIcon img,
.ths-vc__appIcon svg,
.ths-vc__appImg{
  width:30px;
  height:30px;
  max-width:30px;
  max-height:30px;
}
.ths-vc__appLabel{
  font-size:14px;
  font-weight:800;
  color:#4b3529;
}
@media (max-width: 767px){
  .ths-vc__apps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;padding:0 12px 14px;}
  .ths-vc__app{min-height:68px;padding:6px 4px;gap:6px;}
  .ths-vc__appIcon{width:34px;height:34px;}
  .ths-vc__appIcon img,.ths-vc__appIcon svg,.ths-vc__appImg{width:24px;height:24px;max-width:24px;max-height:24px;}
  .ths-vc__appLabel{font-size:12px;}
}
@media (max-width: 520px){
  .ths-vc__apps{grid-template-columns:repeat(4,minmax(0,1fr));}
}


/* ===== DESIGN CONSISTENCY LOCK ===== */
.ths-vc__card{border-radius:28px;box-shadow:0 16px 34px rgba(58,36,18,.08);}
.ths-vc__btn,.ths-vc__wechatBtn{border-radius:18px;min-height:52px;}
.ths-vc__actions{gap:12px;}


/* ===== TYPOGRAPHY LOCK ===== */
.ths-vc__title{font-size:22px;font-weight:700;line-height:1.2;}
.ths-vc__desc{font-size:14px;line-height:1.6;}
.ths-vc__btn{font-size:14px;font-weight:600;}


/* ===== TEXT SYSTEM LOCK ===== */
.ths-vc{
  --ths-text-heading: var(--ths-font-heading, "Playfair Display", Georgia, serif);
  --ths-text-body: var(--ths-font-body, "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --ths-text-title-color: #34261d;
  --ths-text-body-color: #6f6258;
  --ths-text-muted-color: #8a7a6e;
}
.ths-vc__eyebrow,.ths-vc__contactEyebrow,.ths-vc__wechatEyebrow{font-family:var(--ths-text-body);font-size:12px;line-height:1.3;font-weight:800;}
.ths-vc__title,.ths-vc__contactTitle,.ths-vc__wechatTitle{font-family:var(--ths-text-heading);color:var(--ths-text-title-color);font-size:clamp(30px,2.5vw,46px);line-height:1.08;font-weight:700;}
.ths-vc__subtitle,.ths-vc__desc,.ths-vc__wechatDesc{font-family:var(--ths-text-body);color:var(--ths-text-body-color);font-size:15px;line-height:1.72;font-weight:500;}
.ths-vc__list,.ths-vc__copy,.ths-vc__contactText,.ths-vc__empty{font-family:var(--ths-text-body);color:var(--ths-text-body-color);font-size:14px;line-height:1.68;}
.ths-vc__appLabel{font-family:var(--ths-text-body);font-size:14px;line-height:1.35;font-weight:700;color:var(--ths-text-title-color);}
.ths-vc__wechatInfoLabel,.ths-vc__range,.ths-vc__codeLabel{font-family:var(--ths-text-body);font-size:13px;line-height:1.45;font-weight:700;color:var(--ths-text-muted-color);}
.ths-vc__codeValue,.ths-vc__wechatInfoValue{font-family:var(--ths-text-body);font-size:17px;line-height:1.2;font-weight:800;color:var(--ths-text-title-color);}
.ths-vc__btn,.ths-vc__wechatBtn{font-family:var(--ths-text-body);font-size:14px !important;line-height:1;font-weight:700;}


/* ===== LUXURY SPACING PHASE A ===== */
.ths-vc{padding-top:34px;padding-bottom:34px;}
.ths-vc__inner{gap:24px;}
.ths-vc__card{padding:24px;}
.ths-vc__voucherHead,.ths-vc__contactHead,.ths-vc__wechatHead{margin-bottom:16px;}
.ths-vc__actions{margin-top:16px;gap:12px;}
.ths-vc__apps{gap:12px;}
@media (max-width: 991px){.ths-vc{padding-top:24px;padding-bottom:24px;}.ths-vc__card{padding:18px;}}
/* ===== PHASE 25 — TYPOGRAPHY CLEANUP WAVE 1 =====
   Refine voucher-contact CTA text to match footer CTA quality:
   cleaner body-font feel, less heavy, tighter tracking.
*/
.ths-vc__btn,
.ths-vc__wechatBtn{
  font-family:var(--ths-text-body), inherit !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:-0.01em !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.ths-vc__btn{
  min-height:54px !important;
  padding:0 20px !important;
  gap:10px !important;
}

.ths-vc__btnText,
.ths-vc__wechatBtnText{
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:1;
  letter-spacing:inherit;
}

.ths-vc__btnIcon{
  width:20px;
  min-width:20px;
  height:20px;
  flex:0 0 20px;
  font-size:18px;
}

.ths-vc__btnIcon--calendar,
.ths-vc__calendarSvg{
  width:20px;
  height:20px;
}

@media (max-width: 767px){
  .ths-vc__btn,
  .ths-vc__wechatBtn{
    min-height:50px !important;
    font-size:13px !important;
  }
}

/* ===== PHASE 27 — VOUCHER CONTACT APP TILE SYNC =====
   Goal: make voucher-contact app chat tiles look like the cleaner reference:
   keep the outer tile card, remove the inner circular icon bubble, and sync this globally.
*/
.ths-vc__apps{
  gap:16px !important;
}

.ths-vc__app{
  min-height:104px !important;
  padding:18px 12px !important;
  background:#fff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:1px solid rgba(106,74,47,.06) !important;
  border-radius:24px !important;
  box-shadow:0 6px 18px rgba(58,36,18,.04) !important;
}

.ths-vc__app:hover{
  transform:translateY(-2px);
  background:#fff !important;
  border-color:rgba(183,134,69,.18) !important;
  box-shadow:0 10px 24px rgba(58,36,18,.07) !important;
}

.ths-vc__appIcon{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.ths-vc__appImg,
.ths-vc__appIcon svg{
  width:28px !important;
  height:28px !important;
}

.ths-vc__appLabel{
  font-family:var(--ths-text-body), system-ui, sans-serif !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;
  color:var(--ths-vc-text) !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

@media (max-width: 1200px){
  .ths-vc__apps{
    gap:14px !important;
  }
}

@media (max-width: 767px){
  .ths-vc__apps{
    gap:12px !important;
  }

  .ths-vc__app{
    min-height:96px !important;
    padding:16px 10px !important;
    border-radius:22px !important;
  }

  .ths-vc__appImg,
  .ths-vc__appIcon svg{
    width:26px !important;
    height:26px !important;
  }

  .ths-vc__appLabel{
    font-size:13px !important;
  }
}


/* PHASE 53D — voucher-contact RU CTA fit */
.ths-vc__btnText{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width: 767px){
  .ths-vc--lang-ru .ths-vc__btn{
    font-size:14px !important;
    padding:0 12px;
    gap:7px;
  }

  .ths-vc--lang-ru .ths-vc__btnIcon--calendar,
  .ths-vc--lang-ru .ths-vc__calendarSvg{
    width:18px;
    height:18px;
  }
}

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

/* THERA ADMIN HUB — VOUCHER CONTACT D4 LAYOUT REBALANCE
   Make the voucher block span closer to the Check-in gallery width.
   Keep the left image in a clean phone-screen ratio instead of stretching tall/narrow.
   Widen contact/app column so app chat does not feel squeezed.
*/
@media (min-width: 1201px){
  .ths-vc__wrap{
    width:min(100%, 1560px) !important;
    padding-left:clamp(18px, 2.8vw, 40px) !important;
    padding-right:clamp(18px, 2.8vw, 40px) !important;
  }

  .ths-vc__grid{
    grid-template-columns:minmax(340px, 1.06fr) minmax(460px, 1.34fr) minmax(340px, 1.06fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  .ths-vc__card--image{
    align-self:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:24px !important;
  }

  .ths-vc__image,
  .ths-vc__imagePlaceholder{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:9 / 16 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:22px !important;
  }

  .ths-vc__card--contact{
    align-self:stretch !important;
  }

  .ths-vc__apps{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .ths-vc__app{
    min-height:112px !important;
    border-radius:24px !important;
  }
}

@media (min-width: 1201px) and (max-width: 1380px){
  .ths-vc__grid{
    grid-template-columns:minmax(310px, 1fr) minmax(430px, 1.28fr) minmax(310px, 1fr) !important;
    gap:20px !important;
  }

  .ths-vc__card--image{
    padding:20px !important;
  }
}

/* THERA ADMIN HUB — VOUCHER CONTACT D5 HERBAL-REFERENCE LAYOUT
   Rebalance after D4: keep a true phone-screen image ratio, but make the whole
   voucher/contact block wider, centered and visually aligned with the Check-in gallery above.
   The 3 columns are now a stable luxury panel: phone image / voucher content / app chat.
*/
@media (min-width: 1201px){
  .ths-vc{
    padding:56px 0 48px !important;
  }

  .ths-vc__wrap{
    width:min(100%, 1500px) !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:clamp(20px, 3vw, 44px) !important;
    padding-right:clamp(20px, 3vw, 44px) !important;
  }

  .ths-vc__grid{
    display:grid !important;
    grid-template-columns:minmax(360px, .92fr) minmax(560px, 1.42fr) minmax(360px, .92fr) !important;
    gap:28px !important;
    align-items:stretch !important;
    justify-content:center !important;
  }

  .ths-vc__card{
    border-radius:30px !important;
  }

  .ths-vc__card--image{
    min-height:0 !important;
    height:auto !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:28px !important;
    overflow:visible !important;
  }

  .ths-vc__image,
  .ths-vc__imagePlaceholder{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:680px !important;
    aspect-ratio:9 / 16 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:24px !important;
    box-shadow:none !important;
  }

  .ths-vc__card--voucher{
    align-self:stretch !important;
    display:flex !important;
    min-height:0 !important;
  }

  .ths-vc__content{
    width:100% !important;
    min-height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:38px 48px 40px !important;
  }

  .ths-vc__title{
    font-size:clamp(40px, 2.9vw, 62px) !important;
  }

  .ths-vc__subtitle{
    max-width:760px !important;
  }

  .ths-vc__bullets{
    max-width:560px !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .ths-vc__actions{
    gap:16px !important;
  }

  .ths-vc__btn{
    min-width:220px !important;
  }

  .ths-vc__card--contact{
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    padding:34px 30px 32px !important;
  }

  .ths-vc__contactHead{
    margin-bottom:24px !important;
  }

  .ths-vc__contactTitle{
    font-size:clamp(28px, 2vw, 38px) !important;
    line-height:1.12 !important;
  }

  .ths-vc__apps{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:18px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .ths-vc__app{
    min-height:116px !important;
    border-radius:24px !important;
    padding:18px 12px !important;
  }
}

@media (min-width: 1201px) and (max-width: 1450px){
  .ths-vc__wrap{
    width:min(100%, 1360px) !important;
  }

  .ths-vc__grid{
    grid-template-columns:minmax(320px, .9fr) minmax(500px, 1.35fr) minmax(320px, .9fr) !important;
    gap:22px !important;
  }

  .ths-vc__card--image{
    padding:22px !important;
  }

  .ths-vc__content{
    padding:34px 36px 36px !important;
  }

  .ths-vc__btn{
    min-width:190px !important;
  }

  .ths-vc__card--contact{
    padding:30px 24px 28px !important;
  }
}

@media (min-width: 768px) and (max-width: 1200px){
  .ths-vc__wrap{
    width:min(100%, 980px) !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .ths-vc__grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .ths-vc__card--image{
    max-width:520px !important;
    margin:0 auto !important;
    padding:24px !important;
  }

  .ths-vc__image,
  .ths-vc__imagePlaceholder{
    aspect-ratio:9 / 16 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:720px !important;
    object-fit:cover !important;
  }

  .ths-vc__card--contact{
    padding:28px !important;
  }

  .ths-vc__apps{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:16px !important;
  }
}

@media (max-width: 767px){
  .ths-vc__card--image{
    padding:16px !important;
  }

  .ths-vc__image,
  .ths-vc__imagePlaceholder{
    aspect-ratio:9 / 16 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:cover !important;
  }
}

/* THERA ADMIN HUB — VOUCHER CONTACT D6 EDGE-FILL IMAGE + VISIBLE VOUCHER BACKGROUND
   Scope: visual-only hotfix after D5.
   - Main voucher image fills the left card edge-to-edge (no inner white frame).
   - Voucher background image becomes visible behind the content, without reducing text readability.
*/
.ths-vc__card--image{
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
}

.ths-vc__card--image .ths-vc__image,
.ths-vc__card--image .ths-vc__imagePlaceholder,
.ths-vc__image,
.ths-vc__imagePlaceholder{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:inherit !important;
  box-shadow:none !important;
}

.ths-vc__card--voucher{
  overflow:hidden !important;
  background:rgba(255,255,255,.84) !important;
}

.ths-vc__midBg{
  opacity:var(--thsVCMidOpacity, .26) !important;
  transform:scale(1.03) !important;
  filter:saturate(1.05) contrast(1.02) !important;
}

.ths-vc__midBg::before{
  background:linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.72) 100%) !important;
}

.ths-vc__content{
  background:linear-gradient(180deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.66) 100%) !important;
}

@media (min-width: 1201px){
  .ths-vc__card--image{
    padding:0 !important;
    overflow:hidden !important;
  }

  .ths-vc__card--image .ths-vc__image,
  .ths-vc__card--image .ths-vc__imagePlaceholder{
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    border-radius:30px !important;
  }
}

@media (min-width: 768px) and (max-width: 1200px){
  .ths-vc__card--image{
    padding:0 !important;
    overflow:hidden !important;
  }

  .ths-vc__card--image .ths-vc__image,
  .ths-vc__card--image .ths-vc__imagePlaceholder{
    min-height:560px !important;
    height:auto !important;
    aspect-ratio:9 / 16 !important;
    border-radius:30px !important;
  }
}

@media (max-width: 767px){
  .ths-vc__card--image{
    padding:0 !important;
    overflow:hidden !important;
  }

  .ths-vc__card--image .ths-vc__image,
  .ths-vc__card--image .ths-vc__imagePlaceholder{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:9 / 16 !important;
    border-radius:26px !important;
  }

  .ths-vc__midBg::before{
    background:linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.82) 100%) !important;
  }
}

/* THERA VOUCHER CONTACT D7 — iOS FLAT SURFACE CLEANUP
   Visual-only cleanup after D6: remove stacked inner panels and keep a single clean surface. */
.ths-vc__card--voucher{
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(106,74,47,.09) !important;
}

.ths-vc__midBg{
  opacity:var(--thsVCMidOpacity, .18) !important;
  transform:none !important;
  filter:saturate(1.04) contrast(1.02) !important;
}

.ths-vc__midBg::before{
  background:linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.84) 100%) !important;
}

.ths-vc__content{
  padding:44px 44px 40px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.ths-vc__bullets{
  max-width:640px !important;
  margin:26px auto 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  gap:14px !important;
}

.ths-vc__bullets li{
  padding-left:22px !important;
  background:transparent !important;
}

.ths-vc__note{
  max-width:640px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.ths-vc__card--contact{
  padding:44px 34px 38px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(106,74,47,.09) !important;
}

.ths-vc__contactHead{
  margin-bottom:28px !important;
}

.ths-vc__apps{
  gap:22px 18px !important;
}

.ths-vc__app,
.ths-vc__app:link,
.ths-vc__app:visited{
  min-height:82px !important;
  padding:10px 8px !important;
  gap:8px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:18px !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.ths-vc__app:hover,
.ths-vc__app:focus{
  background:rgba(255,255,255,.34) !important;
  transform:translateY(-2px) !important;
  box-shadow:none !important;
}

.ths-vc__appIcon{
  width:42px !important;
  height:42px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.ths-vc__appImg,
.ths-vc__appIcon svg{
  width:28px !important;
  height:28px !important;
  filter:drop-shadow(0 5px 10px rgba(58,36,18,.12)) !important;
}

.ths-vc__appLabel{
  font-size:14px !important;
  font-weight:800 !important;
}

@media (max-width: 767px){
  .ths-vc__content{
    padding:28px 20px 26px !important;
  }
  .ths-vc__card--contact{
    padding:28px 18px 26px !important;
  }
  .ths-vc__apps{
    gap:16px 10px !important;
  }
  .ths-vc__app{
    min-height:74px !important;
  }
}
