.ths-sidebar-right {
  --ths-sidebar-brown: #5a3e27;
  --ths-sidebar-bg-1: #fbf7f2;
  --ths-sidebar-bg-2: #f3ece3;
  --ths-sidebar-border: rgba(201,149,84,.22);
  --ths-sidebar-shadow: 0 18px 42px rgba(18, 35, 39, 0.10);
  --ths-sidebar-accent: #c47a3a;
  --ths-sidebar-btn: #ff6a00;
  --ths-sidebar-btn-hover: #e45f00;
  --ths-sidebar-bronze: linear-gradient(135deg, #f3deb8 0%, #d8b07a 18%, #c99554 40%, #b67a3a 60%, #d8b07a 82%, #f3deb8 100%);
  --ths-sidebar-sticky-top: 96px;
  width: 100%;
  max-width: 100%;
}

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

.ths-sidebar {
  display: block;
}

.ths-sidebar-right .ths-widget {
  position: relative;
  margin: 0 0 20px;
  padding: 20px;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(180deg, var(--ths-sidebar-bg-1) 0%, var(--ths-sidebar-bg-2) 100%);
  box-shadow: var(--ths-sidebar-shadow);
  border:1px solid rgba(201,149,84,.12);
}

.ths-sidebar-right .ths-widget:last-child {
  margin-bottom: 0;
}

.ths-sidebar-right .ths-widget::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: 20px;
  background: var(--ths-sidebar-bronze);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity:.7;
}

.ths-sidebar-right .ths-widget__title,
.ths-sidebar-right .ths-widget h3,
.ths-sidebar-right .ths-widget h4 {
  margin: 0 0 14px;
  color: var(--ths-sidebar-brown);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.ths-sidebar-right .ths-empty {
  color: rgba(106, 74, 47, 0.78);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.ths-sidebar-right ul,
.ths-sidebar-right ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ths-sidebar-right .ths-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ths-sidebar-right .ths-list__item {
  margin: 0;
}

.ths-sidebar-right .ths-list__link,
.ths-sidebar-right .ths-list__link.is-disabled {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid rgba(231, 222, 210, 0.92);
  background: rgba(255,255,255,.52);
  color: rgba(61, 43, 28, 0.92);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ths-sidebar-right .ths-list__text {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ths-sidebar-right .ths-list__arrow {
  flex: 0 0 auto;
  color: rgba(106, 74, 47, 0.5);
  font-size: 16px;
  line-height: 1;
}

.ths-sidebar-right .ths-list__link:hover {
  background: rgba(255, 255, 255, 0.92);
  color: var(--ths-sidebar-brown);
  transform: translateY(-1px);
  box-shadow:0 10px 20px rgba(18,35,39,.06);
}

.ths-sidebar-right .ths-list__link.is-active {
  background: rgba(196, 122, 58, 0.10);
  color: var(--ths-sidebar-brown);
  font-weight: 800;
  border-color:rgba(196,122,58,.20);
}

.ths-sidebar-right .ths-list__link.is-active .ths-list__text {
  position: relative;
  padding-left: 12px;
}

.ths-sidebar-right .ths-list__link.is-active .ths-list__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--ths-sidebar-accent);
  transform: translateY(-50%);
}

.ths-sidebar-right .ths-list__link.is-disabled {
  opacity: 0.58;
  cursor: default;
}

.ths-sidebar-right .ths-posts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ths-sidebar-right .ths-post {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid rgba(231, 222, 210, 0.7);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  color: inherit;
  text-decoration: none;
  transition: background .18s ease, transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ths-sidebar-right .ths-post:hover {
  background: rgba(255, 255, 255, 0.92);
  transform: translateY(-2px);
  box-shadow:0 12px 22px rgba(18,35,39,.08);
  border-color:rgba(201,149,84,.18);
}

.ths-sidebar-right .ths-post-thumb {
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.05);
}

.ths-sidebar-right .ths-post-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ths-sidebar-right .ths-post-thumb-fallback {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,.06), rgba(0,0,0,.02));
}

.ths-sidebar-right .ths-post-meta {
  min-width: 0;
  flex: 1 1 auto;
}

.ths-sidebar-right .ths-post-title {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(41, 28, 18, 0.92);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.ths-sidebar-right .ths-deal {
  padding: 0;
}

.ths-sidebar-right .ths-deal-head {
  padding: 18px 16px 14px;
  text-align: center;
  background: linear-gradient(180deg, #f7efe4 0%, #eee0ce 100%);
  border-bottom: 1px solid rgba(231, 222, 210, 0.92);
  border-radius: 16px 16px 0 0;
}

.ths-sidebar-right .ths-deal-title {
  margin: 0 0 4px;
  color: var(--ths-sidebar-brown);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.ths-sidebar-right .ths-deal-sub {
  margin: 0;
  color: rgba(106, 74, 47, 0.78);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.ths-sidebar-right .ths-deal-body {
  padding: 16px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 0 0 16px 16px;
}

.ths-sidebar-right .ths-time-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 2px 0 14px;
}

.ths-sidebar-right .ths-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.ths-sidebar-right .ths-time-sep {
  color: rgba(106, 74, 47, 0.68);
  font-weight: 800;
}

.ths-sidebar-right .ths-deal-body h5 {
  margin: 0 0 10px;
  color: rgba(90, 62, 39, 0.95);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

.ths-sidebar-right .ths-deal-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ths-sidebar-right .ths-deal-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(231, 222, 210, 0.9);
  color: rgba(61, 43, 28, 0.92);
  font-size: 13px;
  line-height: 1.5;
}

.ths-sidebar-right .ths-deal-list li:last-child {
  border-bottom: none;
}

.ths-sidebar-right .ths-dot {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-top: 7px;
  border-radius: 999px;
  background: rgba(200, 154, 90, 0.88);
}

.ths-sidebar-right .ths-coupon {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(200, 154, 90, 0.28);
  border-radius: 12px;
  background: rgba(200, 154, 90, 0.12);
  color: rgba(61, 43, 28, 0.92);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  overflow-wrap: anywhere;
}

.ths-sidebar-right .ths-btn {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 13px 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, #ff9a32 0%, var(--ths-sidebar-btn) 100%);
  color: #111;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .2px;
  text-align: center;
  text-decoration: none;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  box-shadow:0 14px 24px rgba(255,106,0,.18);
}

.ths-sidebar-right .ths-btn:hover {
  background: linear-gradient(180deg, #ff7f12 0%, var(--ths-sidebar-btn-hover) 100%);
  color: #111;
  transform: translateY(-2px);
  box-shadow:0 18px 28px rgba(255,106,0,.24);
}

.ths-sidebar-right[data-sticky="1"] {
  position: sticky;
  top: var(--ths-sidebar-sticky-top);
}

body.admin-bar .ths-sidebar-right[data-sticky="1"] {
  top: calc(var(--ths-sidebar-sticky-top) + 32px);
}

@media (max-width: 849px) {
  .ths-sidebar-right,
  .ths-sidebar-right[data-sticky="1"] {
    position: static;
    top: auto;
  }

  .ths-sidebar-right .ths-widget {
    margin-bottom: 14px;
    padding: 16px;
    border-radius: 16px;
  }

  .ths-sidebar-right .ths-widget::before {
    border-radius:16px;
  }

  .ths-sidebar-right .ths-widget__title,
  .ths-sidebar-right .ths-widget h3,
  .ths-sidebar-right .ths-widget h4 {
    margin-bottom: 12px;
    font-size: 13px;
  }

  .ths-sidebar-right .ths-list__link,
  .ths-sidebar-right .ths-list__link.is-disabled {
    min-height: 42px;
    padding: 10px 10px;
    font-size: 13px;
  }

  .ths-sidebar-right .ths-post-thumb {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
  }

  .ths-sidebar-right .ths-deal-body,
  .ths-sidebar-right .ths-deal-head {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ths-sidebar-right .ths-list__link,
  .ths-sidebar-right .ths-post,
  .ths-sidebar-right .ths-btn,
  .ths-branch-card,
  .ths-branch-action,
  .ths-branch-card__media img {
    transition: none;
  }
}


/* ===== SAFE POLISH — SIDEBAR PHASE B ===== */
/* typography + spacing + hierarchy refinement */

.ths-sidebar .widget-title,
.sidebar-area .widget-title,
.widget-area .widget-title{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.ths-sidebar .post-title,
.sidebar-area .post-title,
.widget-area .post-title{
  font-size: 14px;
  font-weight: 500;
}

.ths-sidebar .post-meta,
.sidebar-area .post-meta,
.widget-area .post-meta{
  font-size: 12px;
  color: #8a7f75;
}

.ths-sidebar .widget{
  padding: 18px 18px 16px;
}

.ths-sidebar .widget ul{
  margin: 0;
  padding: 0;
}

.ths-sidebar .widget ul li{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ths-sidebar .widget ul li a{
  font-size: 14px;
  color: #3a2d23;
}

.ths-sidebar .widget ul li span{
  font-size: 12px;
  color: #9b8f85;
}

.ths-sidebar .post-item{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

@media (max-width: 991px){
  .ths-sidebar .widget{
    padding: 16px 16px 14px;
  }
}


/* ===== DESIGN CONSISTENCY LOCK ===== */
.ths-sidebar-right .ths-widget{border-radius:24px;box-shadow:0 16px 36px rgba(18,35,39,.08);}
.ths-sidebar-right .ths-widget::before{border-radius:24px;}


/* ===== TYPOGRAPHY LOCK ===== */
.sidebar .widget-title{font-size:16px;font-weight:600;line-height:1.4;}
.sidebar .post-title{font-size:14px;line-height:1.5;font-weight:500;}
.sidebar .post-meta{font-size:12px;line-height:1.4;}


/* ===== TEXT SYSTEM PHASE B — HERBAL LOCK ===== */
.sidebar .widget-title{font-family:"Playfair Display",Georgia,serif;font-size:20px;line-height:1.2;font-weight:700;}
.sidebar .post-title{font-family:"Inter Tight",system-ui,sans-serif;font-size:14px;line-height:1.5;font-weight:600;}
.sidebar .post-meta{font-size:12px;color:#8a7a6e;}

/* ===== PHASE 26 — TYPOGRAPHY CLEANUP WAVE 2 / CTA TEXT SYNC =====
   Sidebar CTA text sync with shared refined booking CTA style.
*/
.ths-sidebar-right .ths-btn{
  font-family:var(--ths-text-body), system-ui, sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;
  line-height:1.05 !important;
  text-transform:none !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ===== PHASE 34 — BUTTON SYSTEM LOCK ===== */
.ths-sidebar-right .ths-btn,
.ths-sidebar-right .ths-ui-btn{
  min-height:48px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;
}


/* ===== PHASE 54D — SIDEBAR TITLE SIZE RECOVERY ===== */
.ths-sidebar-right .ths-widget__title,
.ths-sidebar-right .ths-widget h3,
.ths-sidebar-right .ths-widget h4,
.ths-sidebar-right .widget-title{
  font-family:"Playfair Display",Georgia,serif !important;
  font-size:14px !important;
  line-height:1.12 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:#17324d !important;
  margin:0 0 14px !important;
}

@media (min-width: 992px){
  .ths-sidebar-right .ths-widget__title,
  .ths-sidebar-right .ths-widget h3,
  .ths-sidebar-right .ths-widget h4,
  .ths-sidebar-right .widget-title{
    font-size:15px !important;
  }
}

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


/* V9.6 Sidebar CTA + mini services */
.ths-sidebar-right .ths-widget--services .ths-list__link{
  min-height:42px;
}
.ths-sidebar-right .ths-widget--cta{
  background:linear-gradient(135deg,#17324d 0%,#2f4a40 100%);
  color:#fff;
}
.ths-sidebar-right .ths-widget--cta::before{
  opacity:.35;
}
.ths-sidebar-cta{
  display:grid;
  gap:10px;
}
.ths-sidebar-cta__title{
  color:#fff;
  font-weight:800;
  font-size:16px;
  line-height:1.35;
}
.ths-sidebar-cta__text{
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.55;
}
.ths-sidebar-cta__button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#ff7a1a;
  color:#fff !important;
  font-weight:800;
  text-decoration:none !important;
  box-shadow:0 12px 24px rgba(255,122,26,.28);
}
.ths-sidebar-cta__button:hover{
  filter:brightness(.96);
}

/* ===== V10.4 — SIDEBAR MOBILE CENTERING ===== */
@media (max-width: 991px){
  .ths-price-menu-page__sidebar,.ths-template-main__sidebar,.ths-layout__sidebar,aside.ths-sidebar-right,.ths-sidebar-right{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;}
  .ths-sidebar,.ths-sidebar-right .ths-widget{width:min(100%,420px)!important;max-width:420px!important;margin-left:auto!important;margin-right:auto!important;}
}
@media (max-width:480px){.ths-sidebar,.ths-sidebar-right .ths-widget{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;}}

/* ===== V10.7 — Mobile Sidebar Width Contract =====
   Keep sidebar widgets full-width inside the active page content container on mobile. */
@media (max-width: 849px){
  .ths-sidebar,
  .ths-sidebar-right,
  .ths-sidebar-right[data-sticky="1"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    float:none !important;
  }

  .ths-sidebar-right .ths-widget{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
}
