
.welo-rv-overlay{
  position:fixed; inset:0;
  background:rgba(10,12,16,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:99999;
  padding:20px;
}
.welo-rv-overlay.is-visible{ display:flex; }

.welo-rv-modal{
  width:100%;
  max-width:520px;
  background:#fff;
  border-radius:28px;
  padding:32px 28px 22px;
  box-shadow:0 40px 80px rgba(10,12,16,.22);
  position:relative;
  font-family:Inter, sans-serif;
  animation:weloModalIn .22s ease-out;
  max-height:90vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

@keyframes weloModalIn{
  from{opacity:0; transform:translateY(8px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

.welo-rv-close{
  position:absolute; top:14px; right:14px;
  width:36px; height:36px;
  border-radius:50%;
  border:none;
  background:rgba(240,240,240,.85);
  backdrop-filter:blur(4px);
  color:#0a0a0a;
  font-size:16px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .18s ease;
}
.welo-rv-close:hover{ background:#e5e5e5; transform:scale(1.07); }

.welo-rv-title{ font-size:22px; font-weight:600; color:#0a0a0a; margin-bottom:4px; }
.welo-rv-subtitle{ font-size:14px; color:#525252; margin-bottom:20px; }

.welo-rv-step{ display:none; }
.welo-rv-step.is-active{ display:block; }

.welo-rv-stars-picker{ display:inline-flex; gap:12px; margin:12px 0 8px; }
.welo-rv-stars-picker button{
  width:42px; height:42px; border-radius:14px;
  border:1px solid #e5e5e5; background:#fafafa;
  cursor:pointer; font-size:20px; color:#d4d4d4;
  display:flex; align-items:center; justify-content:center;
  transition:all .16s ease;
}
.welo-rv-stars-picker button:hover{ background:#000; color:#facc15; border-color:#000; }
.welo-rv-stars-picker button.is-active{ background:#000; color:#facc15; border-color:#000; }
.welo-rv-hint{ font-size:13px; color:#3f3f46; }

.welo-rv-group{ margin-bottom:16px; }
.welo-rv-label{ font-size:13px; color:#4b5563; margin-bottom:6px; display:block; }

.welo-rv-input,
.welo-rv-textarea{
  width:100%;
  border-radius:14px;
  border:1px solid #e5e7eb;
  padding:12px 14px;
  font-size:16px;
  background:#fafafa;
  color:#0a0a0a;
  transition:all .16s ease;

  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
  font-size:16px !important; /* iOS no zoom */
  line-height:1.5;
  height:auto;
  box-sizing:border-box;
}

.welo-rv-input:focus,
.welo-rv-textarea:focus{
  border-color:#0a0a0a;
  background:#fff;
  outline:none;
  box-shadow:0 0 0 2px rgba(10,10,10,.1);
}

.welo-rv-textarea{ min-height:120px; resize:vertical; line-height:1.5; }

.welo-rv-upload{
  border-radius:18px;
  border:1px dashed #d4d4d8;
  padding:16px 14px;
  background:#fafafa;
  margin-top:10px;
}
.welo-rv-upload-header{ display:flex; align-items:center; justify-content:space-between; }
.welo-rv-upload-title{ font-size:14px; font-weight:500; color:#111; }
.welo-rv-upload-badge{
  padding:3px 10px; font-size:11px; border-radius:999px;
  background:#f3f4f6; border:1px solid #e5e7eb;
  color:#6b7280; letter-spacing:.6px;
}
.welo-rv-upload-hint{ font-size:12px; color:#777; margin:8px 0 12px; }

.welo-rv-dropzone{
  border:2px dashed #d4d4d8;
  border-radius:12px;
  padding:24px;
  text-align:center;
  background:#fff;
  transition:all .2s ease;
  cursor:pointer;
  margin-bottom:12px;
}
.welo-rv-dropzone:hover,
.welo-rv-dropzone.is-dragover{ border-color:#0a0a0a; background:#f8f8f8; }

.welo-rv-dropzone-content{
  display:flex; flex-direction:column; align-items:center;
  gap:8px; color:#666;
}
.welo-rv-dropzone svg{ color:#a1a1aa; margin-bottom:4px; }
.welo-rv-dropzone-browse{ color:#0a0a0a; font-weight:500; text-decoration:underline; }

.welo-rv-preview{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.welo-rv-preview-item{
  display:flex; align-items:center; gap:10px;
  padding:8px 12px; background:#fff;
  border:1px solid #e5e5e5; border-radius:10px;
  font-size:13px;
}
.welo-rv-preview-thumb{
  width:36px; height:36px; border-radius:6px;
  object-fit:cover; background:#f5f5f5;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.welo-rv-preview-thumb img,
.welo-rv-preview-thumb video{
  width:100%; height:100%; border-radius:6px; object-fit:cover;
}
.welo-rv-preview-info{ flex:1; min-width:0; }
.welo-rv-preview-name{
  font-weight:500; color:#111;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.welo-rv-preview-size{ font-size:11px; color:#666; margin-top:2px; }
.welo-rv-preview-remove{
  background:none; border:none; color:#dc2626;
  font-size:12px; cursor:pointer;
  padding:4px 8px; border-radius:4px;
  transition:background .2s ease;
}
.welo-rv-preview-remove:hover{ background:#fef2f2; }

.welo-rv-checkbox{
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; color:#111; margin-top:12px;
}
.welo-rv-checkbox input[type="checkbox"]{ width:16px; height:16px; margin-top:3px; }
.welo-rv-checkbox a{ text-decoration:underline; color:#111; }

.welo-rv-footer{
  display:flex; justify-content:space-between;
  gap:10px; margin-top:22px; align-items:center;
}
.welo-rv-btn-secondary,
.welo-rv-btn-primary{
  min-height:42px;
  padding:8px 18px;
  border-radius:999px;
  font-size:14px; font-weight:500;
  cursor:pointer; border:none;
  transition:all .16s ease;
  display:flex; align-items:center; justify-content:center;
  flex:1;
}
.welo-rv-btn-secondary{ background:#f3f4f6; color:#111; max-width:120px; }
.welo-rv-btn-primary{ background:#000; color:#fff; flex:2; }
.welo-rv-btn-primary:disabled,
.welo-rv-btn-secondary:disabled{ opacity:.6; cursor:not-allowed; }

.welo-rv-error{ font-size:13px; color:#b91c1c; margin-top:6px; min-height:20px; }
.welo-rv-loading{
  display:none; font-size:13px; color:#4b5563;
  margin-top:6px; align-items:center; gap:8px;
}
.welo-rv-spinner{
  width:14px; height:14px;
  border:2px solid #d1d5db;
  border-top-color:#000;
  border-radius:999px;
  animation:weloSpin .7s linear infinite;
}
@keyframes weloSpin{ to{ transform:rotate(360deg);} }

/* MOBILE */
@media (max-width:480px){
  .welo-rv-overlay{
    padding:20px;
    align-items:center; /* evita jump con tastiera */
  }
  .welo-rv-modal{
    padding:24px 20px 20px;
    border-radius:22px;
    margin:0;
    width:100%;
    max-width:none;
    animation:weloModalInMobile .25s ease-out;
    max-height:calc(100dvh - 40px);
    max-height:calc(100vh - 40px);
  }
  @keyframes weloModalInMobile{
    from{opacity:0; transform:translateY(20px);}
    to{opacity:1; transform:translateY(0);}
  }
  .welo-rv-title{ font-size:20px; }
  .welo-rv-stars-picker button{ width:38px; height:38px; }
  .welo-rv-dropzone{ padding:16px; }

  .welo-rv-input,
  .welo-rv-textarea{
    padding:14px 16px;
    min-height:48px;
    border-radius:12px;
    line-height:1.4;
    font-size:16px !important;
    -webkit-text-size-adjust:100%;
  }
  .welo-rv-input{ height:48px; padding-top:13px; padding-bottom:13px; }
  .welo-rv-textarea{ min-height:120px; padding-top:14px; padding-bottom:14px; }

  .welo-rv-footer{ margin-top:20px; gap:12px; }
  .welo-rv-btn-secondary,
  .welo-rv-btn-primary{ min-height:48px; font-size:15px; }
  .welo-rv-btn-secondary{ max-width:100px; flex:0 0 auto; }
  .welo-rv-btn-primary{ flex:1; }

  .welo-rv-upload-desktop{ display:none; }
}

/* DESKTOP */
@media (min-width:481px){
  .welo-rv-step[data-step="3"]{ display:none !important; }
  .welo-rv-btn-secondary{ flex:0 0 auto; min-width:100px; }
  .welo-rv-btn-primary{ flex:0 0 auto; min-width:120px; }
}
