/* popup always on top of the sticky banner + header */
.esyt-modal{z-index:2147483647 !important}
body.esyt-open .shopify-banner,
body.esyt-open .easy-header-container,
body.esyt-open .sidebar-menu,
body.esyt-open .sidebar-overlay{z-index:1 !important}

.esyt{position:fixed;left:20px;bottom:20px;z-index:9990;font-family:'Gilroy','Outfit',system-ui,-apple-system,sans-serif}
.esyt *{box-sizing:border-box}
.esyt-fab{    position: relative;
    display: flex;
    /*bottom: 72px;*/
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 7px 18px 7px 7px;
    border: 0;
    border-radius: 999px;
    background: #8a30ff;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 14px 34px -10px rgba(15, 23, 43, .6);
    transition: transform .25s, box-shadow .25s;}
.esyt-fab:hover, .esyt-fab:focus{transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(15,23,43,.7);background:#8a30ff;color:#fff}
.esyt-fab:focus-visible{outline:2px solid #8A30FF;outline-offset:3px}
.esyt-fab__ic{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.esyt-fab__ic svg{width:24px;height:17px}
.esyt-fab__txt{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.esyt-fab__txt small{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.esyt-fab__txt b{font-size:14px;font-weight:700}
.esyt-dot{position:absolute;top:3px;left:36px;width:12px;height:12px;border-radius:50%;background:#FF0033;border:2px solid #0F172B;animation:esyt-ping 1.6s infinite}
.esyt-dot[hidden]{display:none}
@keyframes esyt-ping{0%{box-shadow:0 0 0 0 rgba(255,0,51,.6)}100%{box-shadow:0 0 0 10px rgba(255,0,51,0)}}

.esyt-teaser{position:absolute;left:0;bottom:calc(100% + 12px);width:290px;display:flex;gap:10px;align-items:center;padding:10px 34px 10px 10px;border-radius:14px;background:#fff;color:#0F172B;box-shadow:0 20px 50px -14px rgba(15,23,43,.45);cursor:pointer;animation:esyt-in .35s ease}
.esyt-teaser[hidden]{display:none}
.esyt-teaser img{width:48px;height:64px;object-fit:cover;border-radius:8px;flex:none;background:#000}
.esyt-teaser small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FF0033}
.esyt-teaser b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.3}
.esyt-teaser__x{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;border-radius:50%;background:#F1F5F9;color:#334155;font-size:15px;line-height:1;cursor:pointer;padding:0}

.esyt-modal{position:fixed;inset:0;z-index:2147483000;display:flex;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.esyt-modal[hidden]{display:none}
.esyt-backdrop{position:fixed;inset:0;background:rgba(10,6,18,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.esyt-box{position:relative;margin:auto;width:min(900px,100%);background:#fff;color:#0F172B;border-radius:20px;padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6);animation:esyt-in .3s ease}
@keyframes esyt-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.esyt-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:#F1F5F9!important;color:#0F172B!important;font-size:20px;line-height:1;cursor:pointer;z-index:2;padding:0}
.esyt-x:hover{background:#E2E8F0;color:#0F172B}
.esyt-player{background:#000;border-radius:14px;overflow:hidden;aspect-ratio:9/16;height:min(calc(100vh - 80px),580px);height:min(calc(100dvh - 80px),580px)}
.esyt-player.is-wide{aspect-ratio:16/9;height:auto;width:min(520px,52vw);align-self:start}
.esyt-player iframe{display:block;width:100%;height:100%;border:0}
.esyt-side{display:flex;flex-direction:column;gap:14px;min-width:0;padding-top:4px}
.esyt-chan{display:flex;align-items:center;gap:10px;padding-right:44px}
.esyt-chan__logo{width:42px;height:42px;border-radius:50%;background:#FFF1F3;display:grid;place-items:center;flex:none}
.esyt-chan__logo svg{width:24px;height:17px}
.esyt-chan b{display:block;font-size:15px}
.esyt-chan small{font-size:13px;color:#64748B}
.esyt-title{margin:0;font-size:19px;font-weight:700;line-height:1.3;color:#0F172B}
.esyt-label{margin:4px 0 0;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7C3AED}
.esyt-list{display:grid;gap:8px}
.esyt-item{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:6px;border:1px solid #E7E2F4;border-radius:12px;background:#fff;color:#0F172B;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.esyt-item:hover,.esyt-item.on{border-color:#8A30FF;background:#F5F3FF;color:#0F172B}
.esyt-item img{width:42px;height:56px;object-fit:cover;border-radius:8px;flex:none;background:#000}
.esyt-item.is-wide img{width:80px;height:45px}
.esyt-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.35}
.esyt-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.esyt-btn{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none!important;transition:transform .2s,filter .2s}
.esyt-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.esyt-btn--sub{background:#FF0033;color:#fff!important}
.esyt-btn--ch{background:#F5F3FF;color:#6D28D9!important;border:1px solid #E9DDFF}
.esyt-btn svg{width:18px;height:18px}

@media (max-width:720px){
  .esyt{left:12px;bottom:12px}
  .esyt-fab{padding:6px}
  .esyt-fab__txt{display:none}
  .esyt-fab__ic{width:44px;height:44px}
  .esyt-teaser{width:min(290px,calc(100vw - 24px))}
  .esyt-modal{padding:12px}
.esyt-box{grid-template-columns:1fr;gap:14px;padding:14px;margin:auto 0}
.esyt-player{height:auto;width:min(100%,calc((100vh - 230px) * 9 / 16));width:min(100%,calc((100dvh - 230px) * 9 / 16));margin:0 auto}
.esyt-x{position:fixed;top:14px;right:14px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
  .esyt-player.is-wide{width:100%}
  .esyt-side{padding-top:0}
  .esyt-chan{padding-right:40px}
  /*.esyt-x{top:8px;right:8px}*/
  .esyt-title{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .esyt-dot,.esyt-teaser,.esyt-box{animation:none}
}
