/* Base */
:root{
  --cs-bg:#ffffff;
  --cs-border:#e6e7eb;
  --cs-muted:#7a7f8c;
  --cs-primary:#002A74;
  --cs-accent:#2862FC;
  --cs-success:#16a34a;
  --cs-error:#dc2626;
}

/* Isolation vs Hello/Elementor */
.cs-form, .cs-average, .cs-admin{ font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color:#0f172a; }
.cs-form *{ box-sizing:border-box; }
.cs-form input, .cs-form select, .cs-form textarea, .cs-form button{
  font-family: inherit !important; letter-spacing:0 !important;
  appearance:none !important; -webkit-appearance:none !important;
}

/* Layout vertical + spacing */
.cs-form{ background:var(--cs-bg); padding:16px; font-size:15px; }
.cs-grid{ display:block; }
.cs-field{ margin-bottom:22px; }
.cs-field label{ display:block; font-weight:500; margin:0 0 10px; font-size:16px; }

/* Inputs */
.cs-field input[type="text"],
.cs-field input[type="tel"],
.cs-field input[type="date"],
.cs-field select,
.cs-field textarea{
  width:100%;
  border:1px solid var(--cs-border) !important;
  border-radius:24px !important;
  padding:10px 14px !important;
  outline:none !important;
  background:#f7f8fb !important;
  transition:box-shadow .2s, border-color .2s, background .2s;
  font-size:15px !important;
}
.cs-field textarea{ border-radius:16px !important; resize:vertical; min-height:140px; }

/* Focus with blue fill */
.cs-field input:focus,
.cs-field select:focus,
.cs-field textarea:focus{
  background: rgba(40,98,252,.10) !important;
  border-color: var(--cs-accent) !important;
  box-shadow: 0 0 0 3px rgba(40,98,252,.12) !important;
}

.cs-select-wrap{ position:relative; }
.cs-select-wrap:after{
  content:"▾"; position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--cs-muted); pointer-events:none;
}

/* Identify */
.cs-radio-row{ display:flex; gap:16px; align-items:center; }
.cs-radio-row label{ font-weight:500; display:inline-flex; align-items:center; gap:8px; }
.cs-form input[type="radio"]{
  appearance:auto !important; -webkit-appearance:auto !important;
  accent-color: var(--cs-accent);
  width:16px; height:16px; margin:0 4px 0 0;
}
.cs-two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:768px){ .cs-two{ grid-template-columns:1fr; } }

/* Stars icon-only */
.cs-stars{ display:flex; gap:6px; align-items:center; }
.cs-star{ background:transparent !important; border:none !important; cursor:pointer; outline:none !important; -webkit-tap-highlight-color: transparent; }
.cs-star .cs-star-icon{ font-size:26px; color:#cbd5e1; transition: transform .12s ease, color .12s ease; line-height:1; display:inline-block; }
.cs-star:hover .cs-star-icon{ transform: scale(1.1); }
.cs-star.selected .cs-star-icon, .cs-star.filled .cs-star-icon{ color:#f59e0b; }

/* Actions & messages */
.cs-actions{ margin-top:8px; display:flex; justify-content:flex-end; }
.cs-btn{ all:unset; display:inline-block; background:var(--cs-primary) !important; color:#fff !important; border-radius:12px !important; padding:12px 18px !important; font-weight:700 !important; letter-spacing:.3px !important; cursor:pointer; }
.cs-btn:hover{ background:#001f54 !important; }

.cs-message{ margin-top:12px; font-weight:600; }
.cs-message.success{ color: var(--cs-success); }
.cs-message.error{ color: var(--cs-error); }

/* Average stars */
.cs-average{ display:flex; align-items:center; gap:8px; }
.cs-average-stars{ font-size:22px; }
.cs-average-number{ font-weight:700; }
.cs-star-full{ color:#f59e0b; font-size:22px; }
.cs-star-empty{ color:#cbd5e1; font-size:22px; }
.cs-star-half{ position:relative; display:inline-block; width:1em; }
.cs-star-half > span{ background: linear-gradient(90deg, #f59e0b 50%, #cbd5e1 50%); -webkit-background-clip:text; color:transparent; }

/* Admin cards */
.cs-admin .cs-average-box{ background:#fff; border:1px solid var(--cs-border); border-radius:12px; padding:12px 16px; margin:12px 0; display:flex; align-items:center; gap:16px; }
.cs-card{ background:#fff; border:1px solid var(--cs-border); border-radius:12px; padding:0; margin-top:12px; }
