:root{
  --rc-gap: 16px;
  --rc-radius: 14px;
  --rc-border: 1px solid rgba(0,0,0,.12);
  --rc-shadow: 0 8px 26px rgba(0,0,0,.08);
  --rc-bg: #fff;
  --rc-body: #333;
  --rc-muted: #777;
  --rc-star: #c6a66a;
}

.reviews-carousel {
  max-width: 800px;
  margin: 0 auto;
  padding: 16px 0;
  user-select: none;
}

.rc-viewport {
  overflow: hidden;
}

.rc-track {
  display: flex;
  transition: transform .35s ease;
  will-change: transform;
}

.rc-card {
  width: 100%;
  min-height: 300px;
  background: var(--rc-bg);
  color: var(--rc-body);
  border: var(--rc-border);
  border-radius: 0;
  box-shadow: var(--rc-shadow);
  padding: 24px;
  cursor: pointer;
  outline: none;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* rc-meta at bottom */
}

/* Reviewer Name */
.rc-name {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #222;
}

/* Stars and date row */
.rc-stars-date {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.rc-stars {
  color: var(--rc-star);
  font-size: 1.05rem;
  letter-spacing: 2px;
}

.rc-date {
  font-size: 0.9rem;
  color: var(--rc-muted);
}

/* Review body */
.rc-body {
  color: #333;
  line-height: 1.6;
  margin-bottom: 12px;
  flex-grow: 1;
}

/* Meta section */
.rc-meta {
  border-top: 1px solid rgba(0,0,0,0.08);
  padding-top: 10px;
  font-size: 0.95rem;
  color: #444;
}

.rc-meta strong {
  font-weight: 600;
  color: #222;
}

.rc-ratings {
  margin-bottom: 4px;
  line-height: 1.4;
}

/* Hotel Highlights always 2 lines */
.rc-highlights {
  color: #555;
  display: block;
  margin-top: 4px;
  line-height: 1.4;
  max-height: 2.8em; /* 2 lines */
  overflow: hidden;
  white-space: normal;
}

/* Controls below the card */
.rc-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px; /* space between prev, dots, next */
  margin-top: 16px;
}

/* Arrows as buttons */
.rc-prev, .rc-next {
  font-size: 40px;
  background: transparent;
  color: #9f9176;
  border: 0;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 12px;
  border-radius: 4px;
  transition: background 0.2s, color 0.2s;
}

.rc-prev:hover, .rc-next:hover {
  color: #565246;
}

.rc-prev:focus, .rc-next:focus {
  outline: none;
  box-shadow: none;
  background: transparent;               /* same as default */
}

/* Dots in the middle */
.rc-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 5px
}

.rc-dot {
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background: #e2e1d9;
  border: none;
  outline: none;
  box-shadow: none; 
  transition: transform 0.15s ease, background 0.15s ease;
}
.rc-dot.is-active {
  background: #9f9176;
  transform: scale(1.05);
}

.reviews-carousel { margin-inline: auto; }
.rc-viewport { box-sizing: border-box; }
