/* SYNKOC Feedback & Placements — front end */

:root{
  --sk-blue:#1878c1;
  --sk-blue-dark:#125e99;
  --sk-ink:#101f30;
  --sk-slate:#5c6b7c;
  --sk-line:#e3e9ef;
  --sk-wash:#f4f8fb;
  --sk-danger:#b01020;
}

.sk-formwrap,.sk-wall,.sk-placed{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--sk-ink);
  max-width:760px;margin:0 auto;line-height:1.6;
}
.sk-wall,.sk-placed{max-width:1180px;}
.sk-formwrap *,.sk-wall *,.sk-placed *{box-sizing:border-box;}

/* ---------------- Form ---------------- */
.sk-form{
  background:#fff;border:1px solid var(--sk-line);border-radius:14px;
  padding:30px 28px;
}
.sk-required{margin:0 0 20px;font-size:12.5px;color:var(--sk-slate);}
.sk-field{margin-bottom:20px;}
.sk-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sk-field label,.sk-field .sk-label{
  display:block;font-size:14px;font-weight:600;margin-bottom:7px;color:var(--sk-ink);
}
.sk-field label span,.sk-field .sk-label span,.sk-check label span{color:var(--sk-danger);}
.sk-field input[type=text],
.sk-field input[type=email],
.sk-field input[type=url],
.sk-field textarea{
  width:100%;font:inherit;font-size:15px;color:var(--sk-ink);
  padding:11px 13px;border:1px solid var(--sk-line);border-radius:9px;
  background:#fff;transition:border-color .15s,box-shadow .15s;
}
.sk-field textarea{resize:vertical;min-height:130px;line-height:1.6;}
.sk-field input:focus,.sk-field textarea:focus{
  outline:none;border-color:var(--sk-blue);box-shadow:0 0 0 3px rgba(24,120,193,.12);
}
.sk-field small{display:block;margin-top:6px;font-size:12.5px;color:var(--sk-slate);line-height:1.5;}

/* Star picker — reversed row so CSS sibling hover works */
.sk-rate{display:inline-flex;flex-direction:row-reverse;gap:4px;}
.sk-rate input{position:absolute;opacity:0;width:1px;height:1px;}
.sk-rate label{
  font-size:32px;line-height:1;cursor:pointer;color:var(--sk-line);
  margin:0;transition:color .12s,transform .12s;
}
.sk-rate label:hover,
.sk-rate label:hover ~ label,
.sk-rate input:checked ~ label{color:#f5a623;}
.sk-rate label:hover{transform:scale(1.08);}
.sk-rate input:focus-visible + label{outline:2px solid var(--sk-blue-dark);outline-offset:3px;}

/* Character meter */
.sk-meter{display:flex;align-items:center;gap:11px;margin-top:9px;}
.sk-meter-bar{flex:1;height:5px;border-radius:99px;background:var(--sk-line);overflow:hidden;}
.sk-meter-bar i{display:block;height:100%;width:0;background:var(--sk-blue);transition:width .25s ease;}
.sk-meter span{font-size:12.5px;color:var(--sk-slate);white-space:nowrap;}
.sk-meter.is-ok .sk-meter-bar i{background:#22a06b;}

/* Photo */
.sk-photo{display:flex;align-items:center;gap:14px;}
.sk-photo-preview{
  width:64px;height:64px;flex:0 0 64px;border-radius:50%;
  background:var(--sk-wash) center/cover no-repeat;border:1px solid var(--sk-line);
}
.sk-photo-side{flex:1;min-width:0;}
.sk-photo-side input[type=file]{font:inherit;font-size:13px;max-width:100%;}

/* Consent */
.sk-check{display:flex;gap:10px;align-items:flex-start;margin:24px 0;}
.sk-check input{margin-top:4px;flex:0 0 auto;width:16px;height:16px;}
.sk-check label{font-size:14px;font-weight:400;color:var(--sk-slate);margin:0;line-height:1.55;}

/* Honeypot */
.sk-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden;}

.sk-submit{
  font:inherit;font-size:15px;font-weight:600;color:#fff;background:var(--sk-blue);
  border:0;border-radius:9px;padding:13px 30px;cursor:pointer;
  transition:background .15s,transform .12s,opacity .15s;
}
.sk-submit:hover:not(:disabled){background:var(--sk-blue-dark);transform:translateY(-1px);}
.sk-submit:disabled{opacity:.55;cursor:progress;}
.sk-submit:focus-visible{outline:2px solid var(--sk-blue-dark);outline-offset:3px;}

.sk-error{
  margin:0 0 16px;padding:11px 14px;border-radius:9px;font-size:14px;
  background:#fdf0f1;color:#8b0d19;border:1px solid #f4d3d6;
}

/* ---------------- Share panel ---------------- */
.sk-share{
  margin-top:20px;padding:26px 24px;background:#fff;
  border:1px solid var(--sk-blue);border-radius:14px;
  box-shadow:0 8px 30px rgba(24,120,193,.13);
}
.sk-share h3{margin:0 0 7px;font-size:18px;font-weight:600;line-height:1.3;color:var(--sk-ink);}
.sk-share > p{margin:0 0 18px;font-size:14px;color:var(--sk-slate);line-height:1.55;}
.sk-share-actions{display:flex;flex-wrap:wrap;gap:10px;}
.sk-btn{
  font:inherit;font-size:14px;font-weight:500;
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 18px;border-radius:9px;cursor:pointer;
  border:1px solid var(--sk-line);background:#fff;color:var(--sk-ink);
  transition:transform .12s,border-color .15s;
}
.sk-btn:hover{transform:translateY(-1px);border-color:var(--sk-blue);}
.sk-btn:focus-visible{outline:2px solid var(--sk-blue-dark);outline-offset:2px;}
.sk-btn-copy{background:var(--sk-wash);}
.sk-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:5px;flex:0 0 22px;
  font-size:11px;font-weight:700;color:#fff;background:var(--sk-blue);
}
.sk-btn-google .sk-mark{background:#4285f4;}
.sk-btn-li .sk-mark{background:#0a66c2;font-size:10px;}
.sk-note{margin:16px 0 0;font-size:12.5px;color:var(--sk-slate);line-height:1.5;}

/* Toast */
.sk-toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);
  background:#101f30;color:#fff;font-family:'Inter',system-ui,sans-serif;
  font-size:13.5px;padding:11px 18px;border-radius:9px;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  z-index:99999;max-width:88vw;text-align:center;
}
.sk-toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------------- Wall ---------------- */
.sk-summary{
  display:flex;align-items:center;gap:22px;
  padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--sk-line);
}
.sk-avg{display:flex;align-items:baseline;gap:5px;}
.sk-avg span{font-size:clamp(44px,7vw,64px);line-height:.9;font-weight:700;color:var(--sk-blue);letter-spacing:-.02em;}
.sk-avg em{font-style:normal;font-size:15px;color:var(--sk-slate);}
.sk-summary-meta p{margin:6px 0 0;font-size:13.5px;color:var(--sk-slate);}

.sk-stars{display:inline-flex;gap:2px;font-size:15px;line-height:1;}
.sk-stars i{font-style:normal;color:var(--sk-line);}
.sk-stars i.on{color:#f5a623;}

.sk-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.sk-chip{
  font:inherit;font-size:13px;font-weight:500;padding:7px 14px;border-radius:99px;
  cursor:pointer;border:1px solid var(--sk-line);background:#fff;color:var(--sk-slate);
  transition:border-color .15s,color .15s,background .15s;
}
.sk-chip:hover{border-color:var(--sk-blue);color:var(--sk-blue);}
.sk-chip[aria-pressed="true"]{background:var(--sk-blue);border-color:var(--sk-blue);color:#fff;}
.sk-chip:focus-visible{outline:2px solid var(--sk-blue-dark);outline-offset:2px;}

.sk-grid{display:grid;gap:16px;grid-template-columns:repeat(var(--sk-cols,3),minmax(0,1fr));}
.sk-card{
  position:relative;background:#fff;border:1px solid var(--sk-line);
  border-radius:14px;padding:22px;display:flex;flex-direction:column;
  transition:border-color .18s,box-shadow .18s;
}
.sk-card::before{
  content:"";position:absolute;left:-1px;top:20px;bottom:20px;width:2px;
  background:var(--sk-blue);border-radius:99px;
  transform:scaleY(.34);transform-origin:top;
  transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.sk-card:hover{border-color:#cfdce7;box-shadow:0 6px 22px rgba(16,31,48,.07);}
.sk-card:hover::before{transform:scaleY(1);}
.sk-card .sk-stars{margin-bottom:12px;}
.sk-headline{margin:0 0 9px;font-size:15.5px;font-weight:600;line-height:1.35;color:var(--sk-ink);}
.sk-quote{margin:0 0 20px;font-size:14.5px;line-height:1.62;color:#28384a;}

.sk-person{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--sk-line);}
.sk-photo-img{width:46px;height:46px;flex:0 0 46px;border-radius:50%;object-fit:cover;background:var(--sk-wash);}
.sk-initials{
  width:46px;height:46px;flex:0 0 46px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--sk-wash);color:var(--sk-blue);font-weight:600;font-size:15px;
}
.sk-initials-lg{width:96px;height:96px;flex:0 0 96px;font-size:28px;margin:0 auto 14px;}
.sk-who{min-width:0;display:flex;flex-direction:column;}
.sk-name{font-weight:600;font-size:14.5px;line-height:1.3;}
.sk-name a{color:inherit;text-decoration:none;}
.sk-name a:hover{color:var(--sk-blue);text-decoration:underline;}
.sk-role{font-size:12.5px;color:var(--sk-slate);margin-top:2px;}
.sk-tag{
  display:inline-block;margin-top:6px;align-self:flex-start;
  font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  color:var(--sk-blue-dark);background:var(--sk-wash);padding:3px 8px;border-radius:5px;
}
.sk-empty{padding:34px 4px;text-align:center;color:var(--sk-slate);font-size:14.5px;}

/* ---------------- Placements ---------------- */
.sk-placed{display:grid;gap:16px;grid-template-columns:repeat(var(--sk-cols,4),minmax(0,1fr));}
.sk-placed-card{
  background:#fff;border:1px solid var(--sk-line);border-radius:14px;
  padding:26px 18px;text-align:center;transition:transform .18s,box-shadow .18s;
}
.sk-placed-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(16,31,48,.09);}
.sk-placed-card img{
  width:96px;height:96px;border-radius:50%;object-fit:cover;
  margin:0 auto 14px;display:block;border:3px solid var(--sk-wash);
}
.sk-placed-card h4{margin:0 0 4px;font-size:15.5px;font-weight:600;line-height:1.3;}
.sk-placed-role{margin:0;font-size:13px;color:var(--sk-ink);font-weight:500;}
.sk-placed-co{margin:2px 0 0;font-size:13px;color:var(--sk-blue);font-weight:600;}
.sk-placed-card .sk-tag{margin-top:10px;align-self:auto;}

/* ---------------- Responsive ---------------- */
@media (max-width:900px){
  .sk-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sk-placed{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:600px){
  .sk-form{padding:22px 18px;}
  .sk-row{grid-template-columns:1fr;gap:0;}
  .sk-grid,.sk-placed{grid-template-columns:1fr;}
  .sk-share-actions{flex-direction:column;}
  .sk-btn{width:100%;justify-content:center;}
  .sk-summary{gap:16px;}
}

@media (prefers-reduced-motion:reduce){
  .sk-formwrap *,.sk-wall *,.sk-placed *,.sk-toast{transition:none!important;}
  .sk-card::before{transform:scaleY(1);}
}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}
