/* === PROMO SHEET (UTM IG/FB) === */
.promo-backdrop{position:fixed;inset:0;background:rgba(10,36,99,0.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,1,.3,1)}
.promo-backdrop.open{opacity:1;pointer-events:auto}
.promo-sheet{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#F2F2F2;border-radius:14px 14px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.18),0 -2px 8px rgba(0,0,0,.06);transform:translateY(110%);transition:transform .42s cubic-bezier(.16,1,.3,1);padding:10px 18px calc(22px + env(safe-area-inset-bottom,0px));max-width:560px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;box-sizing:border-box}
.promo-sheet.open{transform:translateY(0)}
.promo-grip{width:38px;height:5px;border-radius:99px;background:#C7C7CC;margin:0 auto 16px;opacity:.55}
.promo-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.promo-logo{width:38px;height:38px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.promo-logo img{width:100%;height:100%;object-fit:cover}
.promo-brand{font-family:inherit;font-weight:600;font-size:15px;color:#000000;letter-spacing:-0.01em}
.promo-source{display:none}
.promo-title{font-family:inherit;font-weight:700;font-size:17px;color:#000000;margin:0 0 4px;line-height:1.3;letter-spacing:-0.01em}
.promo-desc{font-family:inherit;font-size:14px;font-weight:400;color:#3C3C43;line-height:1.45;margin:0 0 14px;letter-spacing:-0.005em}
.promo-code-row{display:flex;align-items:center;gap:8px;background:#FFFFFF;border-radius:12px;padding:14px 8px 14px 18px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.promo-code-label{flex:1;font-family:inherit;font-size:15px;font-weight:400;color:#3C3C43}
.promo-code-label strong{font-family:inherit;font-size:15px;font-weight:700;color:#000000;letter-spacing:0}
.promo-copy-btn{font-family:inherit;font-size:15px;font-weight:600;color:#007AFF;background:transparent;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;transition:opacity .15s ease,background .15s ease;letter-spacing:-0.005em}
.promo-copy-btn:hover{background:rgba(0,122,255,.08)}
.promo-copy-btn:active{opacity:.6}
.promo-copy-btn.copied{color:#34C759}
.promo-fine{font-family:inherit;font-size:12px;font-weight:400;color:#8E8E93;margin:10px 0 0;text-align:center;letter-spacing:-0.005em}
.promo-close{position:absolute;top:12px;right:14px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(120,120,128,.12);color:#3C3C43;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;font-family:inherit}
.promo-close:hover{background:rgba(120,120,128,.22)}
.promo-sheet.src-ig .promo-logo{box-shadow:0 0 0 2px transparent;background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%) border-box;border:2px solid transparent;padding:2px}
.promo-sheet.src-ig .promo-copy-btn{color:transparent;background:linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%);-webkit-background-clip:text;background-clip:text;font-weight:700}
.promo-sheet.src-ig .promo-copy-btn:hover{background:linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%);-webkit-background-clip:text;background-clip:text;opacity:.8}
.promo-sheet.src-ig .promo-copy-btn.copied{background:none;-webkit-background-clip:initial;background-clip:initial;color:#34C759}
.promo-sheet.src-fb .promo-logo{box-shadow:0 0 0 2px #1877F2}
.promo-sheet.src-fb .promo-copy-btn{color:#1877F2;font-weight:700}
.promo-sheet.src-fb .promo-copy-btn:hover{background:rgba(24,119,242,.08)}
.promo-sheet.src-fb .promo-copy-btn.copied{color:#34C759}
.promo-bar{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));top:auto;transform:translate(-50%,calc(100% + 60px));z-index:9997;background:#1C1C1E;color:#FFFFFF;padding:10px 16px;border-radius:99px;box-shadow:0 8px 28px rgba(0,0,0,.28);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .25s ease,visibility .25s linear;max-width:calc(100vw - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-0.005em;opacity:0;visibility:hidden;pointer-events:none}
.promo-bar.pos-top{bottom:auto;top:calc(18px + env(safe-area-inset-top,0px));transform:translate(-50%,calc(-100% - 60px))}
.promo-bar.show{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}
.promo-bar.pos-top.show{transform:translate(-50%,0)}
.promo-bar svg{flex-shrink:0;width:14px;height:14px}
.promo-bar strong{font-weight:700;letter-spacing:0;padding:0 2px}
.promo-bar.src-ig strong{background:linear-gradient(135deg,#F58529 0%,#DD2A7B 50%,#8134AF 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.promo-bar.src-fb strong{color:#4A9DFF}
@media (max-width:380px){.promo-bar{font-size:12px;padding:9px 14px}.promo-sheet{padding-left:16px;padding-right:16px}.promo-title{font-size:16px}.promo-desc{font-size:13.5px}.promo-code-label,.promo-code-label strong,.promo-copy-btn{font-size:14px}}
@media (min-width:560px){.promo-sheet{left:50%;right:auto;transform:translate(-50%,110%);width:520px}.promo-sheet.open{transform:translate(-50%,0)}}
