/* Soft optional visitor feedback – calm, non-blocking (popup mirrors .cd-lb-pop) */
.cd-fb{
  margin:8px 0 10px;
  padding:8px 12px;
  border:1px dashed var(--cd-border,var(--line,#dce4ed));
  border-radius:var(--cd-radius,12px);
  background:transparent;
  color:var(--cd-text,#172334);
  max-width:100%;
}
.cd-fb[hidden]{display:none!important}
.cd-fb-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;position:relative;padding-right:28px}
.cd-fb-quiet{padding-right:0}
.cd-fb-ask{margin:0;font-size:.92rem;font-weight:600;width:100%}
.cd-fb-link,.cd-fb-skip,.cd-fb-cancel{
  appearance:none;border:0;background:transparent;color:var(--cd-muted,#475569);
  font:inherit;font-size:.85rem;cursor:pointer;padding:8px 10px;min-height:40px;border-radius:8px;text-decoration:underline;
}
.cd-fb-link{color:var(--cd-primary,#0c6b62);font-weight:600;text-decoration:none}
.cd-fb-link:hover,.cd-fb-skip:hover,.cd-fb-cancel:hover{color:var(--cd-primary,#0c6b62);text-decoration:underline}
.cd-fb-form{align-items:stretch;flex-direction:column;padding-right:28px}
.cd-fb-msg,.cd-fb-contact{
  width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;
  padding:10px 12px;border:1px solid var(--cd-border,var(--line,#dce4ed));
  border-radius:10px;background:var(--cd-surface,#fff);color:var(--cd-text,#172334);
  min-height:44px;
}
.cd-fb-msg{resize:vertical;min-height:72px;line-height:1.4}
.cd-fb-msg:focus,.cd-fb-contact:focus{outline:none;box-shadow:var(--cd-focus-ring,0 0 0 3px rgba(37,99,235,.28));border-color:var(--cd-primary,#0c6b62)}
.cd-fb-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cd-fb-send{
  appearance:none;border:0;background:var(--cd-primary,#0c6b62);color:#fff;
  font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;
  padding:10px 16px;min-height:44px;border-radius:10px;
}
.cd-fb-send:hover{filter:brightness(1.05)}
.cd-fb-send:disabled{opacity:.6;cursor:not-allowed}
.cd-fb-x{
  position:absolute;right:0;top:0;appearance:none;border:0;background:transparent;
  color:var(--cd-muted,#475569);font-size:1.25rem;line-height:1;cursor:pointer;
  min-width:40px;min-height:40px;border-radius:8px;
}
.cd-fb-x:hover,.cd-fb-x:focus-visible{background:var(--cd-primary-soft,#e5f3f1);outline:none}
.cd-fb-err{margin:0;color:#b91c1c;font-size:.85rem}
.cd-fb-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.cd-fb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Fixed bottom soft popup — same spirit as .cd-lb-pop; z below LB (80) so if both ever race, LB wins */
.cd-fb-pop{
  position:fixed;z-index:75;left:50%;bottom:18px;transform:translateX(-50%);
  width:min(420px,calc(100vw - 24px));
  padding:14px 16px 12px;
  border:1px solid var(--cd-border,#dce4ed);
  border-radius:14px;background:#fff;color:#172334;
  box-shadow:0 10px 40px rgba(15,23,42,.18),0 2px 8px rgba(15,23,42,.08);
  font:inherit;
  box-sizing:border-box;
  padding-bottom:max(12px,env(safe-area-inset-bottom,0px));
}
.cd-fb-pop[hidden]{display:none!important}
.cd-fb-pop-hd{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px}
.cd-fb-pop-hd p{margin:0;flex:1;font-weight:700;font-size:1rem;line-height:1.35}
.cd-fb-pop-x{
  appearance:none;border:0;background:transparent;color:#64748b;
  font-size:1.35rem;line-height:1;cursor:pointer;min-width:40px;min-height:40px;border-radius:8px;flex-shrink:0
}
.cd-fb-pop-x:hover,.cd-fb-pop-x:focus-visible{background:#e5f3f1;outline:none}
.cd-fb-pop .cd-fb-msg,.cd-fb-pop .cd-fb-contact{margin:0 0 10px}
.cd-fb-pop .cd-fb-actions{margin:0 0 4px}
.cd-fb-pop .cd-fb-cancel{
  appearance:none;border:0;background:transparent;color:#475569;font:inherit;
  padding:8px 10px;cursor:pointer;text-decoration:underline;min-height:40px;border-radius:8px
}
.cd-fb-pop .cd-fb-send{min-height:40px}

@media (max-width:520px){
  .cd-fb{padding:10px}
  .cd-fb-pop{
    bottom:max(10px,env(safe-area-inset-bottom,0px));
    padding:12px;
    padding-bottom:max(12px,calc(10px + env(safe-area-inset-bottom,0px)));
  }
}
