/* Public widget tokens — override via inline style/CSS variables per widget */
.rdw-reviews-widget, .rdw-form-widget, .rdw-carousel-widget, .rdw-grid-widget{
  --rdw-ink: #1c1c1e;
  --rdw-ink-dim: #6b6b70;
  --rdw-ink-faint: #9a9a9e;
  --rdw-teal: #00d8d5;
  --rdw-teal-dim: #00a7a5;
  --rdw-teal-bright: #2ef1ee;
  --rdw-teal-wash: rgba(0,216,213,0.10);
  --rdw-teal-glow: rgba(0,216,213,0.35);
  --rdw-card-bg-1: #292929;
  --rdw-card-bg-2: #252525;
  --rdw-card-border: rgba(255,255,255,0.07);
  --rdw-card-text: #f4f4f4;
  --rdw-card-text-dim: #a3a3a3;
  --rdw-card-text-faint: #6e6e6e;
  --rdw-input-bg: #1c1c1c;
  --rdw-input-border: #383838;
  --rdw-input-ink: #f4f4f4;
  --rdw-radius: 18px;
  --rdw-ease: cubic-bezier(.2,.8,.2,1);
}

/* ============ WIDGET 1 — SUBMISSION FORM ============ */
.rdw-form-widget{
  max-width:460px; margin:0 auto;
  background:var(--rdw-form-bg, linear-gradient(180deg, var(--rdw-card-bg-1), var(--rdw-card-bg-2)));
  border:1px solid var(--rdw-card-border); border-radius:24px;
  padding:38px 36px 32px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,0.35);
  color:var(--rdw-card-text);
  font-family:'Inter',sans-serif;
}
.rdw-form-head{ text-align:center; margin-bottom:26px; }
.rdw-form-head h3{ color:var(--rdw-card-text); font-size:21px; margin:0 0 6px; font-family:'Space Grotesk',sans-serif; }
.rdw-form-head p{ color:var(--rdw-card-text-dim); font-size:13px; margin:0; line-height:1.5; }
.rdw-field{ margin-bottom:16px; }
.rdw-field label{ display:block; font-size:12px; font-weight:600; color:var(--rdw-card-text-dim); margin-bottom:7px; }
.rdw-field .req{ color:var(--rdw-teal); }
.rdw-field input, .rdw-field textarea{
  width:100%; background:var(--rdw-input-bg); border:1px solid var(--rdw-input-border); border-radius:12px;
  padding:12px 14px; color:var(--rdw-input-ink); font-size:13.5px; font-family:'Inter',sans-serif;
  transition:border-color .15s, box-shadow .15s;
}
.rdw-field textarea{ min-height:96px; resize:vertical; line-height:1.55; }
.rdw-field input:focus, .rdw-field textarea:focus{
  outline:none; border-color:var(--rdw-teal); box-shadow:0 0 0 4px var(--rdw-teal-wash);
}
.rdw-star-input{ display:flex; gap:7px; }
.rdw-star-input svg{ width:27px; height:27px; cursor:pointer; transition:transform .12s var(--rdw-ease); color:var(--rdw-teal); }
.rdw-star-input svg.rdw-empty{ color:#4a4a4a; }
.rdw-star-input svg:hover{ transform:scale(1.15); }
.rdw-error{ font-size:11.5px; color:#ff8a8a; margin-top:6px; display:none; }
.rdw-error.show{ display:block; }
.rdw-submit-btn{
  width:100%; margin-top:8px;
  background:var(--rdw-btn-bg, linear-gradient(180deg, var(--rdw-teal-bright), var(--rdw-teal)));
  color:var(--rdw-btn-ink, #062525); border:none; padding:14px; border-radius:12px;
  font-size:14px; font-weight:700; cursor:pointer; font-family:'Inter',sans-serif;
  box-shadow:0 10px 24px -8px var(--rdw-teal-glow);
  transition:transform .15s var(--rdw-ease), filter .15s;
}
.rdw-submit-btn:hover{ transform:translateY(-1px); filter:brightness(1.05); }
.rdw-hp{ position:absolute; left:-9999px; opacity:0; }
.rdw-success{
  display:none; text-align:center; padding:20px 6px 6px;
}
.rdw-success.show{ display:block; animation:popIn .3s var(--rdw-ease); }
@keyframes popIn{ from{opacity:0; transform:translateY(8px) scale(0.97);} to{opacity:1; transform:translateY(0) scale(1);} }
.rdw-success-icon{
  width:52px; height:52px; border-radius:50%; background:var(--rdw-teal-wash); color:var(--rdw-teal-bright);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.rdw-success-icon svg{ width:24px; height:24px; }
.rdw-success h4{ color:var(--rdw-card-text); margin:0 0 8px; font-size:17px; font-family:'Space Grotesk',sans-serif; }
.rdw-success p{ color:var(--rdw-card-text-dim); font-size:13px; margin:0; line-height:1.5; }
.rdw-form-body{ transition:opacity .2s; }
.rdw-form-body.hide{ display:none; }

/* ============ SHARED TESTIMONIAL CARD ============ */
.rdw-testimonial-card{
  background:linear-gradient(180deg, var(--rdw-card-bg-1), var(--rdw-card-bg-2));
  border:1px solid var(--rdw-card-border); border-radius:20px; padding:26px 24px;
  height:100%; display:flex; flex-direction:column;
  box-shadow:0 20px 40px -24px rgba(0,0,0,0.4);
  color:var(--rdw-card-text);
}
.rdw-quote-mark{ color:var(--rdw-teal); opacity:0.6; margin-bottom:10px; }
.rdw-quote-mark svg{ width:26px; height:20px; }
.rdw-stars{ display:flex; gap:3px; margin-bottom:14px; }
.rdw-stars svg{ width:15px; height:15px; color:var(--rdw-teal); }
.rdw-testimonial-text{ color:var(--rdw-card-text-dim); font-size:14px; line-height:1.65; margin:0 0 20px; flex:1; }
.rdw-testimonial-foot{ display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--rdw-card-border); }
.rdw-avatar{
  width:40px; height:40px; border-radius:13px; flex-shrink:0;
  background:linear-gradient(135deg, rgba(0,216,213,0.22), rgba(0,216,213,0.06));
  border:1px solid rgba(0,216,213,0.2); color:var(--rdw-teal-bright);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;
  font-family:'Space Grotesk',sans-serif;
}
.rdw-name{ color:var(--rdw-card-text); font-size:13.5px; font-weight:700; line-height:1.3; }
.rdw-company{ color:var(--rdw-card-text-faint); font-size:11.5px; margin-top:1px; }

/* ============ WIDGET 2 — CAROUSEL ============ */
.rdw-carousel-widget{ position:relative; }
.rdw-carousel-head{ text-align:center; max-width:560px; margin:0 auto 34px; }
.rdw-carousel-head .eyebrow{
  font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--rdw-teal-dim); margin-bottom:10px;
}
.rdw-carousel-head h2{ font-size:28px; margin:0 0 8px; color:var(--rdw-ink); font-family:'Space Grotesk',sans-serif; }
.rdw-carousel-head p{ color:var(--rdw-ink-dim); font-size:14px; margin:0; line-height:1.6; }
.rdw-carousel-viewport{ overflow:hidden; padding:6px 4px 26px; }
.rdw-carousel-track{ display:flex; gap:var(--rdw-gap, 20px); transition:transform .45s var(--rdw-ease); }
.rdw-carousel-slide{ flex:0 0 calc((100% - (var(--rdw-slides-desktop, 3) - 1) * var(--rdw-gap, 20px)) / var(--rdw-slides-desktop, 3)); min-width:0; }
.rdw-carousel-controls{ display:flex; align-items:center; justify-content:center; gap:22px; }
.rdw-arrow{
  width:40px; height:40px; border-radius:50%; border:1px solid #dcdcde; background:#fff;
  color:var(--rdw-ink); display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:all .15s var(--rdw-ease);
}
.rdw-arrow:hover{ border-color:var(--rdw-teal); color:var(--rdw-teal-dim); transform:translateY(-1px); }
.rdw-arrow svg{ width:16px; height:16px; }
.rdw-arrow:disabled{ opacity:0.4; cursor:default; }
.rdw-dots{ display:flex; gap:8px; }
.rdw-dot{ width:7px; height:7px; border-radius:50%; background:#d6d6d8; cursor:pointer; transition:all .2s var(--rdw-ease); }
.rdw-dot.active{ background:var(--rdw-teal); width:22px; border-radius:5px; }

@media (max-width:900px){ .rdw-carousel-slide{ flex:0 0 calc((100% - (var(--rdw-slides-tablet, 2) - 1) * var(--rdw-gap, 20px)) / var(--rdw-slides-tablet, 2)); } }
@media (max-width:620px){ .rdw-carousel-slide{ flex:0 0 calc((100% - (var(--rdw-slides-mobile, 1) - 1) * var(--rdw-gap, 20px)) / var(--rdw-slides-mobile, 1)); } }

/* ============ WIDGET 3 — REVIEW GRID ============ */
.rdw-grid-widget{ color:var(--rdw-ink); font-family:'Inter',sans-serif; }
.rdw-grid-widget-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
  margin:0 auto 26px; flex-wrap:wrap;
}
.rdw-grid-widget-head h2{ font-size:26px; margin:0 0 6px; color:var(--rdw-ink); font-family:'Space Grotesk',sans-serif; }
.rdw-grid-widget-head p{ margin:0; color:var(--rdw-ink-dim); font-size:13.5px; }
.rdw-grid-summary{ display:flex; align-items:center; gap:14px; }
.rdw-rating-summary{ display:flex; align-items:center; gap:10px; }
.rdw-rating-big{ font-size:32px; font-weight:700; font-family:'Space Grotesk',sans-serif; color:var(--rdw-ink); }
.rdw-rating-meta{ font-size:11.5px; color:var(--rdw-ink-dim); line-height:1.4; }
.rdw-rating-meta .rdw-stars{ margin-bottom:2px; }
.rdw-rating-meta .rdw-stars svg{ color:var(--rdw-teal); }

.rdw-grid-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin-bottom:22px;
}
.rdw-filter-pills{ display:flex; gap:8px; }
.rdw-pill{
  padding:8px 15px; border-radius:20px; border:1px solid #dcdcde; background:#fff;
  font-size:12.5px; font-weight:600; color:var(--rdw-ink-dim); cursor:pointer; transition:all .15s var(--rdw-ease);
}
.rdw-pill.active{ background:var(--rdw-teal-wash); border-color:rgba(0,216,213,0.4); color:var(--rdw-teal-dim); }
.rdw-pill:hover:not(.active){ border-color:#b9b9bc; }
.rdw-sort-select{
  border:1px solid #dcdcde; background:#fff; border-radius:10px; padding:9px 13px;
  font-size:12.5px; font-weight:600; color:var(--rdw-ink-dim); font-family:'Inter',sans-serif; cursor:pointer;
}

.rdw-grid{ display:grid; grid-template-columns:repeat(var(--rdw-cols-desktop,3), 1fr); gap:18px; }
.rdw-grid .rdw-testimonial-card{ animation:cardIn .4s var(--rdw-ease) both; }
.rdw-grid .rdw-testimonial-card.rdw-hidden,
.rdw-grid .rdw-grid-card-wrap.rdw-hidden{ display:none; }

.rdw-load-more-wrap{ text-align:center; margin-top:30px; }
.rdw-load-more{
  background:#fff; border:1px solid #dcdcde; color:var(--rdw-ink); border-radius:12px;
  padding:12px 26px; font-size:13.5px; font-weight:700; cursor:pointer; font-family:'Inter',sans-serif;
  transition:all .15s var(--rdw-ease);
}
.rdw-load-more:hover{ border-color:var(--rdw-teal); color:var(--rdw-teal-dim); }
.rdw-load-more:disabled{ opacity:0.4; cursor:default; }

@keyframes cardIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

@media (max-width:920px){ .rdw-grid{ grid-template-columns:repeat(var(--rdw-cols-tablet,2),1fr); } }
@media (max-width:620px){ .rdw-grid{ grid-template-columns:repeat(var(--rdw-cols-mobile,1),1fr); } }
