/* =========================================
   RK Survey Pro - Frontend Styles (dynamic)
   Nutzt CSS-Variablen aus :root
   ========================================= */

:root{
  --rk-primary:#e91e63;
  --rk-bg:#ffffff;
  --rk-text:#111111;
  --rk-radius:8px;
  --rk-border:#e1e1e1;
  --rk-input-border:#cccccc;
}

.rk-survey-card{
  background: var(--rk-bg);
  color: var(--rk-text);
  padding: 30px;
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  max-width: 720px;
  margin-bottom: 30px;
  border: var(--rk-border-width) var(--rk-border-style) var(--rk-border-color);
}

.rk-survey-card h3{
  margin-bottom: 20px;
}

.rk-survey-card fieldset{
  border: 1px solid var(--rk-border);
  padding: 18px;
  margin-bottom: 25px;
  border-radius: calc(var(--rk-radius) - 2px);
}

.rk-survey-card legend{
  font-weight: 600;
  padding: 0 6px;
}

.rk-survey-card label{
  display:block;
  margin-bottom: 10px;
  line-height: 1.5;
}

.rk-survey-card input[type="checkbox"],
.rk-survey-card input[type="radio"]{
  margin-right: 8px;
}

.rk-survey-card textarea,
.rk-survey-card input[type="email"]{
  width: 100%;
  padding: 8px;
  border: 1px solid var(--rk-input-border);
  border-radius: calc(var(--rk-radius) - 4px);
  color: var(--rk-text);
  background: #fff;
}

.rk-survey-card textarea:focus,
.rk-survey-card input[type="email"]:focus{
  outline: none;
  border-color: var(--rk-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rk-primary) 25%, transparent);
}

.rk-survey-card button{
  background: var(--rk-primary);
  color:#fff;
  border:none;
  padding: 10px 20px;
  border-radius: calc(var(--rk-radius) - 4px);
  cursor:pointer;
}

.rk-survey-card button:hover{
  opacity: .92;
}

.rk-survey-success,
.rk-survey-error{
  padding:12px 15px;
  margin-bottom:15px;
  border-radius: calc(var(--rk-radius) - 4px);
}

.rk-survey-success{
  background:#e6f7ec;
  border:1px solid #b6e2c6;
}

.rk-survey-error{
  background:#fff0f0;
  border:1px solid #efb8b8;
}

.rk-survey-stats {
  margin-top: 20px;
}

.rk-stat-row {
  margin-bottom: 12px;
}

.rk-stat-label {
  font-size: 14px;
  margin-bottom: 4px;
}

.rk-stat-bar {
  background: #eee;
  border-radius: var(--rk-radius);
  overflow: hidden;
  height: 14px;
}

.rk-stat-fill {
  background: var(--rk-primary);
  height: 100%;
  transition: width 0.4s ease;
}

.rk-survey-card label.rk-option{
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.35;
  margin: 8px 0;
  white-space: normal;
}

.rk-survey-card label.rk-option input[type="checkbox"],
.rk-survey-card label.rk-option input[type="radio"]{
  flex: 0 0 auto;
  margin-top: 2px;
}

.rk-ratings-block{
  background: linear-gradient(180deg, rgba(0,0,0,.015), transparent);
}

.rk-rating-scale-labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  color:#666;
  font-size:12px;
}

.rk-rating-row{
  display:grid;
  grid-template-columns:minmax(180px, 1fr) 2fr;
  gap:16px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid rgba(0,0,0,.06);
}

.rk-rating-row:first-of-type{
  border-top:none;
  padding-top:0;
}

.rk-rating-question{
  font-weight:600;
}

.rk-rating-required{
  color:#b42318;
  font-weight:700;
}

.rk-rating-options{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.rk-rating-option{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:8px 10px;
  border:1px solid var(--rk-border);
  border-radius:calc(var(--rk-radius) - 2px);
  background:#fff;
}

.rk-rating-option input[type="radio"]{
  margin:0;
}

.rk-rating-stats{
  margin-top:24px;
}

.rk-rating-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:14px;
}

.rk-rating-stat-card{
  border:1px solid var(--rk-border);
  border-radius:var(--rk-radius);
  padding:14px;
  background:#fff;
}

.rk-rating-stat-title{
  font-size:13px;
  color:#555;
  margin-bottom:8px;
}

.rk-rating-stat-value{
  font-size:26px;
  font-weight:700;
  line-height:1;
  margin-bottom:6px;
}

.rk-rating-stat-meta{
  font-size:12px;
  color:#666;
}

.rk-survey-form button {
  display: inline-block;
}

.rk-survey-card[data-button="center"] .rk-survey-form button {
  display: block;
  margin: 20px auto 0;
}

.rk-survey-card[data-button="full"] .rk-survey-form button {
  display: block;
  width: 100%;
  margin-top: 20px;
}

@media (max-width: 680px){
  .rk-rating-row{
    grid-template-columns:1fr;
  }

  .rk-rating-options{
    grid-template-columns:repeat(5, minmax(44px, 1fr));
  }
}
