/* The review window (ITBS_Review_Form): the site's accent, the engine's own look; a bottom sheet on a phone. */
.itbs-rv{--rv-a:var(--itbs-primary,#2563eb);--rv-ink:#0f172a;--rv-mute:#64748b;--rv-line:#e2e8f0;position:fixed;inset:0;z-index:2147481500;display:flex;align-items:center;justify-content:center;padding:16px;font-family:inherit}
.itbs-rv[hidden]{display:none}
.itbs-rv-back{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .18s}
.itbs-rv-card{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--rv-ink);border-radius:26px;box-shadow:0 30px 80px -30px rgba(15,23,42,.6);padding:24px 24px 22px;transform:translateY(14px) scale(.98);opacity:0;transition:transform .2s ease,opacity .18s;outline:none}
.itbs-rv.is-in .itbs-rv-back{opacity:1}
.itbs-rv.is-in .itbs-rv-card{transform:none;opacity:1}
html.itbs-rv-open,html.itbs-rv-open body{overflow:hidden}
.itbs-rv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.itbs-rv-kicker{display:block;color:var(--rv-a);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;margin-bottom:4px}
.itbs-rv-kicker:empty{display:none}
.itbs-rv-head h3,.itbs-rv-done h3{margin:0;font-size:24px;line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--rv-ink)}
.itbs-rv-x{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f1f5f9;color:#334155;cursor:pointer;transition:background .15s,transform .15s}
.itbs-rv-x:hover,.itbs-rv-x:focus-visible{background:#e2e8f0;transform:rotate(90deg)}
.itbs-rv-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.itbs-rv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.itbs-rv-rate{border:0;margin:0 0 14px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #fde68a}
.itbs-rv-rate legend{float:left;width:100%;padding:0;margin:0 0 6px;font-size:13px;font-weight:800;color:#92400e}
.itbs-rv-stars{clear:both;display:flex;align-items:center;gap:4px}
.itbs-rv-star{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;cursor:pointer;transition:transform .12s}
.itbs-rv-star input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.itbs-rv-star svg{width:36px;height:36px;fill:#e2e8f0;stroke:#cbd5e1;stroke-width:1;stroke-linejoin:round;transition:fill .12s,stroke .12s,transform .12s}
.itbs-rv-star.is-on svg{fill:#f59e0b;stroke:#d97706}
.itbs-rv-star:hover{transform:scale(1.12)}
.itbs-rv-star:has(input:focus-visible){outline:2px solid #f59e0b;outline-offset:2px}
.itbs-rv-mood{margin-left:8px;font-weight:800;color:#b45309;font-size:15px}
.itbs-rv-field{display:block;margin:0 0 12px}
.itbs-rv-field>span{display:block;margin:0 0 6px;font-size:13px;font-weight:800;color:#334155}
.itbs-rv-field input,.itbs-rv-field textarea{display:block;width:100%;box-sizing:border-box;border:1.5px solid var(--rv-line);border-radius:14px;background:#f8fafc;padding:12px 14px;font:inherit;font-size:16px;color:var(--rv-ink);transition:border-color .15s,background .15s,box-shadow .15s;resize:vertical}
.itbs-rv-field textarea{min-height:120px;line-height:1.5}
.itbs-rv-field input:focus,.itbs-rv-field textarea:focus{outline:none;border-color:var(--rv-a);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--rv-a) 16%,transparent)}
.itbs-rv-photos{margin:2px 0 12px}
.itbs-rv-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}
.itbs-rv-thumbs[hidden]{display:none}
.itbs-rv-thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f1f5f9;animation:itbs-rv-pop .2s ease}
.itbs-rv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.itbs-rv-del{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:rgba(15,23,42,.72);color:#fff;cursor:pointer;transition:background .15s,transform .15s}
.itbs-rv-del:hover,.itbs-rv-del:focus-visible{background:#dc2626;transform:scale(1.08)}
.itbs-rv-del svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.itbs-rv-drop{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:14px 16px;border:1.5px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#334155;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.itbs-rv-drop svg{flex:none;width:30px;height:30px;padding:7px;border-radius:12px;background:#fff;fill:none;stroke:var(--rv-a);stroke-width:1.8;stroke-linejoin:round;box-shadow:0 2px 8px -4px rgba(15,23,42,.3)}
.itbs-rv-drop b{display:block;font-size:15px}
.itbs-rv-drop small{display:block;margin-left:auto;color:var(--rv-mute);font-size:12.5px;font-weight:600;text-align:right}
.itbs-rv-drop:hover,.itbs-rv-drop:focus-visible,.itbs-rv-drop.is-over{border-color:var(--rv-a);background:color-mix(in srgb,var(--rv-a) 6%,#fff);color:var(--rv-ink);outline:none}
.itbs-rv-drop.is-busy{opacity:.6;pointer-events:none}
.itbs-rv-drop.is-full b{color:var(--rv-mute)}
.itbs-rv-error{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:14px;font-weight:600}
.itbs-rv-error[hidden]{display:none}
.itbs-rv-send{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:16px;background:var(--rv-a);color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px -14px var(--rv-a);transition:filter .15s,transform .15s}
.itbs-rv-send:hover,.itbs-rv-send:focus-visible{filter:brightness(1.08);color:#fff;outline:none}
.itbs-rv-send:active{transform:translateY(1px)}
.itbs-rv-send:disabled{cursor:progress;filter:saturate(.8)}
.itbs-rv-send span{position:relative;z-index:1}
.itbs-rv-send i{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,255,255,.22);transition:width .25s}
.itbs-rv-send.is-busy i{animation:itbs-rv-shine 1.2s linear infinite}
.itbs-rv-done{text-align:center;padding:10px 4px 2px}
.itbs-rv-done[hidden]{display:none}
.itbs-rv-done p{margin:8px 0 20px;color:#475569;font-size:15px;line-height:1.5}
.itbs-rv-check{width:76px;height:76px;margin:6px auto 14px}
.itbs-rv-check svg{width:100%;height:100%;fill:none;stroke:#16a34a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.itbs-rv-check circle{fill:#f0fdf4;stroke-dasharray:151;stroke-dashoffset:151;animation:itbs-rv-draw .5s ease forwards}
.itbs-rv-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:itbs-rv-draw .35s .4s ease forwards}
@keyframes itbs-rv-draw{to{stroke-dashoffset:0}}
@keyframes itbs-rv-pop{from{transform:scale(.8);opacity:0}}
@keyframes itbs-rv-shine{0%{background:rgba(255,255,255,.18)}50%{background:rgba(255,255,255,.3)}100%{background:rgba(255,255,255,.18)}}
@media (max-width:600px){
  .itbs-rv{align-items:flex-end;padding:0}
  .itbs-rv-card{max-width:none;border-radius:24px 24px 0 0;max-height:94vh;max-height:94dvh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(40px)}
  .itbs-rv-head h3,.itbs-rv-done h3{font-size:21px}
  .itbs-rv-star{width:40px;height:40px}.itbs-rv-star svg{width:32px;height:32px}
  .itbs-rv-thumbs{grid-template-columns:repeat(4,1fr)}
  .itbs-rv-drop small{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.itbs-rv-card,.itbs-rv-back,.itbs-rv-star,.itbs-rv-star svg{transition:none}.itbs-rv-check circle,.itbs-rv-check path{animation:none;stroke-dashoffset:0}}
