/* ============================================================
   Truly Permanent Beauty - testimonials + footer.
   Font-family kahin set nahi ki - site ke apne fonts hi chalte hain.
   ============================================================ */

/* ================= TESTIMONIALS ================= */
.tpb-rev { padding: 66px 0 70px; background: #fff; }
.tpb-rev .section_heading { margin-bottom: 34px; }

.tpb-rev__wrap { position: relative; }

/* Google rating badge */
.tpb-rev__score {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 10px; margin: -14px 0 30px;
}
.tpb-rev__scoreNum { font-size: 26px; font-weight: 700; color: #2f2528; line-height: 1; }
.tpb-rev__scoreStars { display: inline-flex; gap: 2px; color: #d99a2b; }
.tpb-rev__scoreStars svg { width: 18px; height: 18px; }
.tpb-rev__scoreTxt { font-size: 13.5px; color: #7d6e72; }
@media (max-width: 575px) {
  .tpb-rev__score { gap: 7px; margin-bottom: 24px; }
  .tpb-rev__scoreTxt { flex: 0 0 100%; text-align: center; font-size: 12.5px; }
}

.tpb-rev__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 20px;
  list-style: none; padding: 0; margin: 0;
}
.tpb-rev__track > li { margin: 0; display: flex; height: 100%; }
.tpb-rev__track > li::before { content: none; }

.tpb-rev__card {
  display: flex; flex-direction: column;
  width: 100%; height: 100%;
  padding: 28px 26px 24px;
  background: #fdf8f9;
  border: 1px solid #f2e3e6;
  border-radius: 12px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tpb-rev__card:hover {
  transform: translateY(-5px);
  border-color: #e6c9cf;
  box-shadow: 0 16px 34px rgba(120,70,80,.12);
}

.tpb-rev__stars { display: flex; gap: 3px; margin-bottom: 14px; color: #d99a2b; }
.tpb-rev__stars svg { width: 17px; height: 17px; }

.tpb-rev__quote {
  flex: 1 1 auto;
  font-size: 15px; line-height: 1.72; color: #4f4347; margin: 0 0 20px;
}

.tpb-rev__by {
  display: flex; align-items: center; gap: 12px;
  padding-top: 16px; border-top: 1px solid #f0dfe3;
}
.tpb-rev__avatar {
  display: grid; place-items: center; flex: none;
  width: 42px; height: 42px; border-radius: 50%;
  background: #f4dde2; color: #a5626e;
  font-size: 16px; font-weight: 600; text-transform: uppercase;
  overflow: hidden;
}
.tpb-rev__avatar img { width: 100%; height: 100%; object-fit: cover; }
.tpb-rev__by b { display: block; font-size: 14.5px; font-weight: 600; color: #2f2528; line-height: 1.25; }
.tpb-rev__by span { display: block; font-size: 12px; color: #938488; line-height: 1.3; }

/* arrows */
.tpb-rev__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid #ecd7dc; background: #fff; color: #a5626e;
  display: grid; place-items: center; cursor: pointer;
  box-shadow: 0 6px 18px rgba(120,70,80,.12);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.tpb-rev__nav:hover { background: #b8737f; color: #fff; border-color: #b8737f; }
.tpb-rev__nav svg { width: 17px; height: 17px; }
.tpb-rev__nav--prev { left: -22px; }
.tpb-rev__nav--next { right: -22px; }
.tpb-rev__nav[disabled] { opacity: .35; cursor: default; }
.tpb-rev__nav[disabled]:hover { background: #fff; color: #a5626e; border-color: #ecd7dc; }

.tpb-rev__more { text-align: center; margin-top: 30px; }
.tpb-rev__more a {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13.5px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase;
  color: #a5626e; text-decoration: none;
}
.tpb-rev__more a:hover { color: #8f5260; }
.tpb-rev__more svg { width: 14px; height: 14px; transition: transform .18s ease; }
.tpb-rev__more a:hover svg { transform: translateX(3px); }

/* scroll par aana */
.tpb-rev__card { opacity: 0; transform: translateY(18px); }
.tpb-rev.is-in .tpb-rev__card { animation: tpbRevIn .6s cubic-bezier(.22,.61,.36,1) forwards; }
.tpb-rev.is-in li:nth-child(2) .tpb-rev__card { animation-delay: .09s; }
.tpb-rev.is-in li:nth-child(3) .tpb-rev__card { animation-delay: .18s; }
@keyframes tpbRevIn { to { opacity: 1; transform: translateY(0); } }

@media (max-width: 991px) {
  .tpb-rev__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tpb-rev__nav--prev { left: -10px; }
  .tpb-rev__nav--next { right: -10px; }
}
@media (max-width: 700px) {
  .tpb-rev { padding: 46px 0 50px; }
  /* mobile par swipe-able strip */
  .tpb-rev__track {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 14px; padding-bottom: 8px; -webkit-overflow-scrolling: touch;
  }
  .tpb-rev__track::-webkit-scrollbar { height: 4px; }
  .tpb-rev__track::-webkit-scrollbar-thumb { background: #e6c9cf; border-radius: 4px; }
  .tpb-rev__track > li { flex: 0 0 84%; scroll-snap-align: center; }
  .tpb-rev__card { padding: 22px 20px 20px; }
  .tpb-rev__nav { display: none; }
}


/* ---- 6 reviews: 3 x 2 grid ---- */
.tpb-rev__track--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* branch-wise rating links */
.tpb-rev__split {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px;
  margin: -18px 0 30px; padding: 0;
}
.tpb-rev__split a {
  display: inline-flex; align-items: baseline; gap: 6px;
  padding: 7px 15px; border-radius: 100px;
  border: 1px solid #f0dfe3; background: #fdf8f9;
  font-size: 13px; color: #6b5a5e; text-decoration: none;
  transition: border-color .16s ease, background .16s ease;
}
.tpb-rev__split a:hover { border-color: #e0bcc4; background: #fbeff2; text-decoration: none; }
.tpb-rev__split b { font-weight: 600; color: #2f2528; }
.tpb-rev__split span { color: #938488; font-size: 12px; }

/* card ke upar: stars + source link */
.tpb-rev__top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 14px;
}
.tpb-rev__top .tpb-rev__stars { margin-bottom: 0; }
.tpb-rev__src {
  font-size: 11px; color: #a08d92; text-decoration: none; white-space: nowrap;
  border-bottom: 1px dotted #d9c4c9;
}
.tpb-rev__src:hover { color: #a5626e; border-bottom-color: #a5626e; text-decoration: none; }

/* animation delays 6 cards ke liye */
.tpb-rev.is-in li:nth-child(4) .tpb-rev__card { animation-delay: .27s; }
.tpb-rev.is-in li:nth-child(5) .tpb-rev__card { animation-delay: .36s; }
.tpb-rev.is-in li:nth-child(6) .tpb-rev__card { animation-delay: .45s; }

@media (max-width: 991px) { .tpb-rev__track--six { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .tpb-rev__track--six { display: flex; }
  .tpb-rev__split { margin-top: -12px; }
  .tpb-rev__split a { font-size: 12.5px; padding: 6px 13px; }
}

/* ================= FOOTER (light) ================= */
.tpb-ft { background: #fdf8f9; color: #5c5054; border-top: 1px solid #f2e3e6; }

/* upar ka trust strip */
.tpb-ft__strip { border-bottom: 1px solid #f2e3e6; padding: 26px 0; background: #fbeff2; }
.tpb-ft__strip ul {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px; list-style: none; padding: 0; margin: 0;
}
.tpb-ft__strip li { display: flex; align-items: center; gap: 13px; margin: 0; }
.tpb-ft__strip li::before { content: none; }
.tpb-ft__strip svg { width: 27px; height: 27px; flex: none; color: #b8737f; }
.tpb-ft__strip b { display: block; font-size: 13.5px; font-weight: 600; color: #2f2528; line-height: 1.25; }
.tpb-ft__strip span { display: block; font-size: 12px; color: #8d7d81; line-height: 1.35; }

/* main */
.tpb-ft__main { padding: 48px 0 40px; }
.tpb-ft__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.1fr 1.3fr;
  gap: 30px;
}
.tpb-ft h3 {
  font-size: 13px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase;
  color: #2f2528; margin: 0 0 16px;
}
.tpb-ft ul { list-style: none; padding: 0; margin: 0; }
.tpb-ft li { margin: 0 0 9px; }
.tpb-ft li::before { content: none; }
.tpb-ft a { color: #6b5a5e; text-decoration: none; font-size: 13.8px; line-height: 1.55; transition: color .16s ease; }
.tpb-ft a:hover { color: #a5626e; text-decoration: none; }
.tpb-ft p { font-size: 13.6px; line-height: 1.7; color: #6f6165; margin: 0 0 12px; }

.tpb-ft__logo img { max-width: 190px; height: auto; margin-bottom: 16px; }
.tpb-ft__social { display: flex; gap: 10px; margin-top: 16px; }
.tpb-ft__social a {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: #f6e4e8; color: #a5626e;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.tpb-ft__social a:hover { background: #b8737f; color: #fff; transform: translateY(-2px); }
.tpb-ft__social svg { width: 17px; height: 17px; }

.tpb-ft__branch { margin-bottom: 18px; }
.tpb-ft__branch b { display: block; font-size: 14px; margin-bottom: 4px; }
.tpb-ft__branch b a { font-size: 14px; font-weight: 600; color: #2f2528; }
.tpb-ft__branch b a:hover { color: #a5626e; text-decoration: underline; }
.tpb-ft__branch p { font-size: 12.8px; line-height: 1.6; margin: 0 0 5px; color: #7d6e72; }
.tpb-ft__branch > a { font-weight: 600; color: #a5626e; }

.tpb-ft__hours { font-size: 13px; color: #6f6165; }
.tpb-ft__hours b { color: #2f2528; }

/* bottom bar */
.tpb-ft__bottom {
  border-top: 1px solid #f2e3e6;
  padding: 16px 0;
  display: flex; flex-wrap: wrap; gap: 10px 20px;
  align-items: center; justify-content: space-between;
  font-size: 12.8px; color: #8d7d81;
}
.tpb-ft__bottom a { font-size: 12.8px; color: #a5626e; }

@media (max-width: 1199px) { .tpb-ft__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; } .tpb-ft__grid > div:nth-child(5) { grid-column: 1 / -1; } }
@media (max-width: 900px)  { .tpb-ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; } .tpb-ft__grid > div:nth-child(5) { grid-column: auto; } .tpb-ft__strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px)  {
  .tpb-ft__grid { grid-template-columns: 1fr; gap: 24px; }
  .tpb-ft__strip ul { grid-template-columns: 1fr; gap: 14px; }
  .tpb-ft__main { padding: 34px 0 28px; }
  .tpb-ft__bottom { justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .tpb-rev__card { opacity: 1; transform: none; animation: none !important; }
  .tpb-rev *, .tpb-ft * { transition: none !important; animation: none !important; }
}

/* branch ke apne timings */
.tpb-ft__hrs { font-size: 12.5px; color: #a5626e; margin: 0 0 5px; font-weight: 600; }
