/* Visszajelzés-widget (templates/_feedback.html). Minden szabály .fb alatt. */
.fb{ --fb-accent:#1d73eb; --fb-ink:#10233b; --fb-muted:#5b6f88; font-family:inherit; }
.fb [hidden]{ display:none !important; }

.fb-launcher{
  position:fixed; right:18px; bottom:18px; z-index:10040;
  display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 16px 0 14px;
  border:0; border-radius:999px; cursor:pointer;
  background:linear-gradient(135deg,#2f86f6,#1766d6); color:#fff;
  font-size:14px; font-weight:800; letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(23,102,214,.35);
  transition:transform .15s ease, box-shadow .15s ease;
}
.fb-launcher:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(23,102,214,.42); }
.fb-launcher:focus-visible, .fb button:focus-visible, .fb-message:focus-visible{ outline:3px solid #9cc5ff; outline-offset:2px; }
.fb-launcher svg{ width:20px; height:20px; }

.fb-teaser{
  position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:10040;
  width:min(520px, calc(100vw - 150px));
  display:flex; align-items:center; gap:6px;
  background:#fff; color:var(--fb-ink); border:1px solid #d9e8fb; border-radius:18px;
  box-shadow:0 16px 38px rgba(16,35,59,.22); padding:10px 8px 10px 16px; text-align:left;
  animation:fb-rise .35s cubic-bezier(.2,.8,.2,1);
}
@keyframes fb-rise{ from{ opacity:0; transform:translate(-50%,16px); } to{ opacity:1; transform:translate(-50%,0); } }
.fb-teaser-body{ flex:1 1 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }
.fb-teaser-q{ margin:0; font-size:14.5px; font-weight:800; line-height:1.3; }
.fb-teaser-q span{ display:block; font-size:12.5px; font-weight:600; color:var(--fb-muted); }
.fb-teaser-rates{ display:flex; gap:4px; flex:0 0 auto; }
.fb-quick{
  width:40px; height:40px; min-width:0; margin:0; padding:0; border:1px solid #e3edf8; border-radius:12px;
  background:#f6f9fd; font-size:22px; line-height:1; cursor:pointer;
  transition:transform .12s ease, background .12s ease;
}
.fb-quick:hover{ transform:translateY(-2px) scale(1.06); background:#eef5ff; }

.fb-panel{
  position:fixed; right:18px; bottom:72px; z-index:10045; width:340px; max-width:calc(100vw - 24px);
  background:#fff; color:var(--fb-ink); border:1px solid #d9e8fb; border-radius:20px;
  box-shadow:0 22px 50px rgba(16,35,59,.25); padding:18px 18px 16px; text-align:left;
  animation:fb-pop .22s ease-out;
}
@keyframes fb-pop{ from{ opacity:0; transform:translateY(8px) scale(.98); } to{ opacity:1; transform:none; } }

.fb-x{
  flex:0 0 auto; width:28px; height:28px; border:0; border-radius:50%; background:transparent;
  color:#7b8ea5; font-size:20px; line-height:1; cursor:pointer;
}
.fb-x:hover{ background:#eef4fb; color:var(--fb-ink); }
.fb-close{ position:absolute; top:10px; right:10px; }

.fb-title{ margin:0 28px 12px 0; font-size:17px; font-weight:800; line-height:1.3; color:var(--fb-ink); }
.fb-sub{ margin:12px 0 8px; font-size:14px; font-weight:700; color:#2c425d; }

.fb-rating{ display:flex; justify-content:space-between; gap:6px; }
.fb-rate{
  flex:1 1 0; min-width:0; width:auto; margin:0; padding:0; height:50px; border:1px solid #e3edf8; border-radius:14px; background:#f6f9fd;
  font-size:26px; line-height:1; cursor:pointer; transition:transform .12s ease, background .12s ease, border-color .12s ease;
  filter:grayscale(.35);
}
.fb-rate:hover{ transform:translateY(-2px); filter:none; background:#eef5ff; }
.fb-rate[aria-checked="true"]{ filter:none; background:#e3efff; border-color:var(--fb-accent); box-shadow:0 0 0 2px rgba(29,115,235,.25); }

.fb-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.fb-tag{
  border:1px solid #d6e4f5; border-radius:999px; background:#fff; color:#23405f;
  font:inherit; font-size:13px; font-weight:700; padding:6px 11px; cursor:pointer;
}
.fb-tag[aria-pressed="true"]{ background:var(--fb-accent); border-color:var(--fb-accent); color:#fff; }

.fb-label{ display:block; margin:12px 0 6px; font-size:13px; font-weight:700; color:var(--fb-muted); }
.fb-message{
  width:100%; box-sizing:border-box; resize:vertical; min-height:70px; max-height:200px;
  border:1px solid #d6e4f5; border-radius:12px; padding:9px 11px; font:inherit; font-size:14px; color:var(--fb-ink);
}
.fb-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.fb-note{ margin:6px 0 10px; font-size:12px; color:var(--fb-muted); }
.fb-send{
  width:100%; height:44px; border:0; border-radius:12px; cursor:pointer;
  background:linear-gradient(135deg,#2f86f6,#1766d6); color:#fff; font:inherit; font-size:15px; font-weight:800;
}
.fb-send[disabled]{ opacity:.6; cursor:default; }
.fb-error{ margin:8px 0 0; font-size:13px; color:#b42318; }

.fb-thanks{ text-align:center; padding:10px 0 4px; }
.fb-thanks .fb-title{ margin:6px 0 2px; }
.fb-thanks .fb-sub{ margin:0; font-weight:600; color:var(--fb-muted); }
.fb-thanks-ico{ font-size:34px; }

@media (max-width:600px){
  .fb-launcher{ right:12px; bottom:12px; width:46px; height:46px; padding:0; justify-content:center; }
  .fb-launcher-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .fb-teaser{ left:8px; right:66px; bottom:10px; width:auto; transform:none; padding:10px 4px 10px 12px; animation:fb-rise-m .35s ease-out; }
  .fb-teaser-body{ flex-direction:column; align-items:flex-start; gap:8px; }
  .fb-teaser-q{ font-size:14px; }
  .fb-quick{ width:36px; height:36px; font-size:20px; }
  .fb-panel{ left:8px; right:8px; bottom:8px; width:auto; max-width:none; border-radius:20px 20px 16px 16px; }
}
@keyframes fb-rise-m{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){
  .fb-panel, .fb-teaser{ animation:none; }
  .fb-launcher, .fb-rate, .fb-quick{ transition:none; }
}
@media print{ .fb{ display:none !important; } }
