/* Swift VAT Pro — floating feedback widget */
.svp-cf{--cf-navy:#0d2855;--cf-teal:#0f766e;--cf-muted:#3f5c55;--cf-line:#5a7a72;font-family:Inter,system-ui,sans-serif}
.svp-cf__tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9998;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:0;border-radius:14px 0 0 14px;background:#0f766e;color:#fff;cursor:pointer;box-shadow:-4px 8px 28px rgba(13,40,85,.22);transition:transform .25s ease,box-shadow .25s ease,background .15s ease}
.svp-cf__tab:hover{transform:translateY(-50%) translateX(-3px);box-shadow:-8px 12px 32px rgba(13,40,85,.28);background:#0a5c54}
.svp-cf__tab-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14)}
.svp-cf__tab-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.svp-cf__overlay{position:fixed;inset:0;z-index:9999;background:rgba(13,40,85,.45);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}
.svp-cf.is-open .svp-cf__overlay{opacity:1}
.svp-cf__panel{position:fixed;top:0;right:0;z-index:10000;width:min(440px,100vw);height:100dvh;display:flex;flex-direction:column;background:rgba(255,255,255,.92);backdrop-filter:blur(20px) saturate(1.2);border-left:1px solid rgba(255,255,255,.6);box-shadow:-16px 0 48px rgba(13,40,85,.16);transform:translateX(105%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.svp-cf.is-open .svp-cf__panel{transform:translateX(0)}
.svp-cf__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px;background:linear-gradient(180deg,rgba(13,40,85,.96),rgba(13,40,85,.88));color:#fff}
.svp-cf__head h2{font-family:Manrope,system-ui,sans-serif;font-size:1.35rem;font-weight:800;margin:0 0 6px;color:#fff}
.svp-cf__head p{margin:0;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.78);max-width:30ch}
.svp-cf__close{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.svp-cf__close:hover{background:rgba(255,255,255,.2)}
.svp-cf__form{flex:1;overflow:auto;padding:20px 24px 28px;transition:opacity .25s ease}
.svp-cf__form.is-hiding{opacity:0;pointer-events:none}
.svp-cf__panel.is-success .svp-cf__form{display:none}
.svp-cf__hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.svp-cf__field{margin-bottom:10px}
.svp-cf__field label{display:block;font-size:.82rem;font-weight:700;color:var(--cf-navy);margin-bottom:7px}
.svp-cf__req{color:#c2410c}
.svp-cf__vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.svp-cf__opt{font-weight:500;color:var(--cf-muted)}
.svp-cf__field input[type=text],.svp-cf__field input[type=email],.svp-cf__field input[type=tel],.svp-cf__field select,.svp-cf__field textarea{width:100%;border:1px solid var(--cf-line);border-radius:12px;padding:12px 14px;font:inherit;font-size:.92rem;color:var(--cf-navy);background:rgba(255,255,255,.85);transition:border-color .15s,box-shadow .15s}
.svp-cf__field input:focus,.svp-cf__field select:focus,.svp-cf__field textarea:focus{outline:3px solid #0f766e;outline-offset:2px;border-color:#5a7a72}
.svp-cf__field textarea{resize:vertical;min-height:100px}
.svp-cf__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svp-cf__stars{display:flex;gap:4px}
.svp-cf__star{border:0;background:transparent;padding:2px;cursor:pointer;color:#5a7a72;transition:transform .12s,color .12s}
.svp-cf__star:hover,.svp-cf__star.is-on{color:var(--cf-teal);transform:scale(1.08)}
.svp-cf__star svg{fill:currentColor}
.svp-cf__upload{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px dashed rgba(52,143,135,.35);border-radius:12px;background:rgba(52,143,135,.04);cursor:pointer;transition:border-color .15s,background .15s}
.svp-cf__upload:hover{border-color:var(--cf-teal);background:rgba(52,143,135,.08)}
.svp-cf__upload input{position:absolute;width:1px;height:1px;opacity:0}
.svp-cf__upload-icon{color:var(--cf-teal)}
.svp-cf__upload-text{font-size:.84rem;color:var(--cf-muted);line-height:1.4}
.svp-cf__check{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--cf-muted);margin:8px 0 18px;cursor:pointer}
.svp-cf__check input{margin-top:3px;accent-color:var(--cf-teal)}
.svp-cf__check a{color:var(--cf-teal);text-decoration:underline}
.svp-cf__submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:14px 20px;font:inherit;font-size:.95rem;font-weight:700;color:#fff;background:#0f766e;cursor:pointer;box-shadow:0 8px 24px rgba(15,118,110,.28);transition:transform .15s,background .15s,opacity .15s}
.svp-cf__submit:hover{background:#0a5c54}
.svp-cf__submit:focus{outline:3px solid #052a24;outline-offset:2px}
.svp-cf__submit:hover:not(:disabled){transform:translateY(-1px);background:#0a5c54}
.svp-cf__submit:disabled{opacity:.7;cursor:wait}
.svp-cf__submit.is-loading .svp-cf__submit-icon{animation:svpCfSpin .8s linear infinite}
@keyframes svpCfSpin{to{transform:rotate(360deg)}}
.svp-cf__success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}
.svp-cf__panel.is-success .svp-cf__success{display:flex;flex:1}
.svp-cf__success.is-shown{opacity:1;transform:translateY(0)}
.svp-cf__success h3{font-family:Manrope,system-ui,sans-serif;font-size:1.4rem;color:var(--cf-navy);margin:16px 0 8px}
.svp-cf__success p{color:var(--cf-muted);max-width:28ch;margin-bottom:24px}
.svp-cf__success-icon{transform:scale(.6);opacity:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1) .1s,opacity .3s .1s}
.svp-cf__success.is-shown .svp-cf__success-icon{transform:scale(1);opacity:1}
.svp-cf__toast{position:absolute;left:24px;right:24px;bottom:24px;padding:12px 16px;border-radius:10px;font-size:.86rem;font-weight:600;color:#fff;background:#991b1b;box-shadow:0 8px 24px rgba(0,0,0,.15);transform:translateY(12px);opacity:0;transition:opacity .25s,transform .25s}
.svp-cf__toast.is-show{opacity:1;transform:translateY(0)}
.svp-cf__toast.is-ok{background:var(--cf-teal)}
@media (max-width:520px){
  .svp-cf__tab{padding:12px 8px}
  .svp-cf__row{grid-template-columns:1fr}
  .svp-cf__head,.svp-cf__form{padding-left:18px;padding-right:18px}
}
