/* Share the Aloha: recommend button, band and panel (shared by every page) */
.sa-fab{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  font:800 19px/1 Inter,system-ui,Arial,sans-serif;color:#2a1240;background:linear-gradient(180deg,#ffe0a0,#f5c15a);
  padding:16px 22px;border-radius:999px;box-shadow:0 12px 30px rgba(42,18,64,.35),0 0 0 4px rgba(255,255,255,.35);
  opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;transition:opacity .45s ease,transform .45s ease}
.sa-fab.show{opacity:1;transform:none;pointer-events:auto}
.sa-fab:hover{transform:translateY(-2px)}
.sa-fab .sa-heart{font-size:22px;animation:sa-beat 2.6s ease-in-out infinite}
@keyframes sa-beat{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.18)}86%{transform:scale(1)}92%{transform:scale(1.12)}}

.sa-band{padding:64px 20px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(255,224,160,.35),transparent 60%),linear-gradient(135deg,#2a1452,#5b2bb5 55%,#f39a5b);color:#fff}
.sa-band h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(32px,5vw,46px);margin:0 0 10px;color:#ffe0a0}
.sa-band p{max-width:640px;margin:0 auto 26px;font-size:20px;color:#f3ecff}
.sa-band .sa-open{font:800 21px/1 Inter,system-ui,Arial,sans-serif;border:0;cursor:pointer;color:#2a1240;background:linear-gradient(180deg,#ffe0a0,#f5c15a);
  padding:18px 32px;border-radius:14px;box-shadow:0 10px 26px rgba(243,154,91,.4);transition:transform .18s ease}
.sa-band .sa-open:hover{transform:translateY(-2px)}
.sa-band small{display:block;margin-top:16px;color:#e7dcff;font-size:16px}

.sa-dlg{border:0;padding:0;border-radius:24px;width:min(560px,calc(100% - 28px));max-height:calc(100% - 28px);color:#241a3a;
  box-shadow:0 30px 80px rgba(20,0,50,.5);font-family:Inter,system-ui,Arial,sans-serif;overflow:auto}
.sa-dlg::backdrop{background:rgba(25,10,50,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sa-dlg[open]{animation:sa-in .35s ease}
@keyframes sa-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.sa-top{background:linear-gradient(135deg,#3a1d6e,#7b3fe4 65%,#f39a5b);color:#fff;padding:24px 26px 20px;position:relative}
.sa-top h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:30px;color:#ffe0a0}
.sa-top p{margin:6px 0 0;font-size:17px;color:#f3ecff}
.sa-x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.18);color:#fff;font-size:24px;line-height:44px}
.sa-x:hover{background:rgba(255,255,255,.3)}
.sa-body{padding:22px 26px 26px;background:#fff}
.sa-body label{display:block;font-weight:800;font-size:17px;margin:0 0 6px;color:#3a1d6e}
.sa-body input,.sa-body textarea{width:100%;font:400 19px/1.45 Inter,system-ui,Arial,sans-serif;color:#241a3a;border:2px solid #e3d6f7;border-radius:14px;padding:13px 15px;margin:0 0 16px;background:#fbf8fe;transition:border-color .2s,box-shadow .2s}
.sa-body input:focus,.sa-body textarea:focus{outline:0;border-color:#7b3fe4;box-shadow:0 0 0 4px rgba(123,63,228,.15)}
.sa-body textarea{min-height:120px;resize:vertical}
.sa-send{width:100%;font:800 21px/1 Inter,system-ui,Arial,sans-serif;border:0;cursor:pointer;color:#2a1240;background:linear-gradient(180deg,#ffe0a0,#f5c15a);padding:18px;border-radius:14px;box-shadow:0 10px 24px rgba(243,154,91,.35);transition:transform .18s}
.sa-send:hover{transform:translateY(-1px)}
.sa-or{text-align:center;color:#7a6e92;font-size:15px;margin:16px 0 10px;letter-spacing:.06em;text-transform:uppercase}
.sa-alt{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.sa-alt button{font:800 17px/1.2 Inter,system-ui,Arial,sans-serif;border:0;cursor:pointer;color:#5b2bb5;background:#f1e8ff;padding:14px 10px;border-radius:12px;transition:background .2s}
.sa-alt button:hover{background:#e5d5ff}
.sa-note{margin:14px 0 0;font-size:15px;color:#7a6e92;text-align:center}
.sa-toast{position:fixed;left:50%;bottom:26px;z-index:60;transform:translate(-50%,30px);opacity:0;background:#2a1452;color:#fff;font:700 18px Inter,system-ui,Arial,sans-serif;padding:14px 22px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:opacity .35s,transform .35s;pointer-events:none}
.sa-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:600px){.sa-fab{padding:14px 18px;font-size:17px}.sa-top h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.sa-fab,.sa-dlg[open]{animation:none;transition:none}.sa-fab .sa-heart{animation:none}}

/* Home screen icon */
.sa-band .ai-open{font:800 21px/1 Inter,system-ui,Arial,sans-serif;cursor:pointer;color:#fff;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.85);
  padding:16px 28px;border-radius:14px;margin:8px;transition:background .2s,transform .18s}
.sa-band .ai-open:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.sa-band .sa-open{margin:8px}
.ai-icon{display:flex;flex-direction:column;align-items:center;gap:8px;margin:2px 0 18px;font-weight:700;font-size:15px;color:#3a1d6e}
.ai-icon img{border-radius:20px;box-shadow:0 10px 24px rgba(42,18,82,.35)}
.ai-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.ai-steps li{display:flex;gap:14px;align-items:flex-start;background:#fbf8fe;border:2px solid #efe6fb;border-radius:14px;padding:14px;font-size:18px;line-height:1.45}
.ai-n{flex:0 0 36px;height:36px;border-radius:50%;background:#f5c15a;color:#2a1240;display:flex;align-items:center;justify-content:center;font-size:18px}
.ai-k{display:inline-block;min-width:28px;text-align:center;padding:0 6px;border-radius:8px;background:#efe6fb;color:#5b2bb5;font-weight:800}
@media(max-width:600px){.sa-band .ai-open,.sa-band .sa-open{display:block;width:100%;margin:10px 0}}
