:root{
  --th-primary:#0f172a;
  --th-accent:#2563eb;
  --th-bg:#fff;
  --th-muted:#f3f4f6;
  --th-text:#0b1220;
  --th-subtle:#6b7280;
  --th-border:#e5e7eb;
  --panel-w:min(420px,92vw);
}

/* Allow full page scrolling */
html,body{
  margin:0;
  padding:0;
}

/* Fixed mount */
#thMount{
  position:fixed;
  inset:0;
  z-index:2147483000;
  pointer-events:none;
}


/* Mobile Responsive Fix */
@media (max-width: 768px) {
  #thMount .th-fab,
  #thFab {
    right:-70px;          /* Adjust visibility for mobile */
    top:40%;              /* Slightly higher */
    width:140px;
    height:38px;
    transform:translateY(-50%) rotate(-90deg);
  }

  .th-panel {
    width: 100vw;         /* Full width on mobile */
  }

  .th-body {
    max-height: calc(100vh - 120px);
  }
}


/* Button */
#thMount .th-fab,
#thFab{
  position:fixed;
  right:-55px; /* Push it outside so only the tab is visible */
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  width:160px;
  height:45px;
  border:0;
  border-radius:8px 8px 0 0;
  background:url('https://www.trustedhosting.in/image/googlereviews.webp') center/cover no-repeat;
  box-shadow:0 6px 15px rgba(0,0,0,.2);
  cursor:pointer;
  pointer-events:auto;
}


/* Overlay */
#thMount .th-overlay,
.th-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.32);
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}

.th-open #thMount .th-overlay,
.th-open .th-overlay{
  opacity:1;
  pointer-events:auto;
}

/* Panel */
#thMount .th-panel,
.th-panel{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:var(--panel-w);
  background:var(--th-bg);
  border-left:1px solid var(--th-border);
  transform:translateX(110%);
  transition:transform .3s ease;
  box-shadow:0 10px 25px rgba(2,6,23,.18),0 2px 8px rgba(2,6,23,.12);
  display:flex;
  flex-direction:column;
  pointer-events:none;
}

.th-open #thMount .th-panel,
.th-open .th-panel{
  transform:translateX(0);
  pointer-events:auto;
}

/* Header */
.th-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px;
  border-bottom:1px solid var(--th-border);
}
.th-title{
  width:180px;
  height:40px;
  background:url('https://www.trustedhosting.in/image/googlereviews.webp') center/contain no-repeat;
}
.th-close{
  width:36px;
  height:36px;
  border:0;
  border-radius:8px;
  background:var(--th-muted);
  font-size:20px;
  cursor:pointer;
}

/* Meta */
.th-meta{
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid var(--th-border);
}
.th-stars-fixed{color:#fbbc05;font-size:18px}
.th-rating-fixed{font-weight:700}
.th-count-fixed{color:var(--th-subtle);font-size:14px}

/* Scrollable reviews section */
.th-body{
  flex:1;
  overflow-y:auto;
  padding:16px;
  max-height:calc(100vh - 100px);
}

/* Footer */
.th-foot{
  border-top:1px solid var(--th-border);
  padding:14px 16px;
}
.th-link{
  color:var(--th-accent);
  font-weight:700;
  text-decoration:none;
}
