/* ==========================================================
   Мобильная версия купона в журнале: плавающий подарок «−15%»
   + шторка с купоном B1. Работает только до 1023px.
   Нужен sidebar-coupon.css (стили самого купона .lcb).
   ========================================================== */
.lcg,.lcs{display:none}
@media (max-width:1023px){
  /* ---------- плавающий подарок ---------- */
  .lcg{
    display:block; position:fixed; z-index:900;
    right:14px; bottom:calc(22px + env(safe-area-inset-bottom));
    opacity:0; transform:translateY(16px) scale(.9); pointer-events:none;
    transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .lcg.is-on{opacity:1;transform:none;pointer-events:auto}
  .lcg__open{
    all:unset; cursor:pointer; position:relative; display:flex; align-items:center; gap:6px;
    flex-direction:column; padding:8px; color:#1e1d1d; -webkit-tap-highlight-color:transparent;
    /* прозрачный фон: читаемость поверх текста за счёт белого ореола */
    filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 5px rgba(255,255,255,.95)) drop-shadow(0 3px 8px rgba(0,0,0,.18));
  }
  .lcg__open:focus-visible{outline:2px solid #5088a5;outline-offset:2px;border-radius:8px}
  .lcg__open svg{display:block;width:46px;height:46px;stroke-width:1.5;transform-origin:50% 90%;animation:lcg-wiggle 6s ease-in-out 1.5s infinite}
  .lcg__open svg path.lid{transform-origin:12px 8px}
  .lcg__tag{margin-top:-6px;padding:3px 7px 4px;border-radius:4px;background:#1e1d1d;color:#fff;font:700 13px/1 var(--font-accent);letter-spacing:.02em}
  .lcg__close{
    all:unset; cursor:pointer; position:absolute; top:-4px; right:-4px; width:28px; height:28px;
    display:flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent;
  }
  .lcg__close span{width:18px;height:18px;border-radius:50%;background:rgba(30,29,29,.72);display:flex;align-items:center;justify-content:center}
  .lcg__close svg{width:8px;height:8px;stroke:#fff;stroke-width:2}
  .lcg__close:focus-visible span{outline:2px solid #5088a5;outline-offset:2px}
  @keyframes lcg-wiggle{
    0%,82%,100%{transform:none}
    85%{transform:rotate(-9deg)} 88%{transform:rotate(8deg)} 91%{transform:rotate(-6deg)} 94%{transform:rotate(3deg)}
  }

  /* ---------- шторка ---------- */
  .lcs{display:block;position:fixed;inset:0;z-index:9990;visibility:hidden}
  .lcs.is-open{visibility:visible}
  .lcs__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}
  .lcs.is-open .lcs__backdrop{opacity:1}
  .lcs__panel{
    position:absolute; left:0; right:0; bottom:0; max-height:calc(100dvh - 40px); overflow-y:auto;
    background:#fff; border-radius:20px 20px 0 0; outline:none;
    padding:12px 16px calc(18px + env(safe-area-inset-bottom));
    transform:translateY(100%); transition:transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .lcs.is-open .lcs__panel{transform:none}
  .lcs__grab{width:40px;height:4px;border-radius:2px;background:#dcdcdc;margin:0 auto 12px}
  .lcs__x{
    all:unset; cursor:pointer; position:absolute; top:10px; right:10px; width:44px; height:44px;
    display:flex; align-items:center; justify-content:center; color:#1e1d1d; font:500 28px/1 var(--font-main);
  }
  .lcs__x:focus-visible{outline:2px solid #5088a5;outline-offset:-4px}
  /* купон внутри шторки */
  .lcs .lcb{margin-top:32px}
  .lcs .lcb__top{padding:22px 20px 18px}
  .lcs .lcb__big{font-size:92px}
  .lcs .lcb__cut{margin:0 18px}
  .lcs .lcb__bottom{padding:18px 20px 22px}
  .lcs .lcb__login{display:block}
}
@media (prefers-reduced-motion:reduce){
  .lcg,.lcs__panel,.lcs__backdrop{transition:none}
  .lcg__open svg{animation:none}
}