/* ==========================================================================
   elektroplace.cz – úpravy mobilní hlavičky (listopad 2026)
   Platí jen pro mobil (do 767 px). PC zůstává beze změny.
   1) šedá informační lišta úplně nahoře (nad logem), při scrollu odjede
   2) vyhledávací pole trvale viditelné pod logem, lupa v hlavičce skrytá
   3) ikona přihlášení (panáček) v hlavičce – stejná jako na PC
   4) tlačítko pro skenování EAN ve vyhledávacím poli (telefon + tablet, ne PC)
   Pro vrácení do původního stavu stačí odebrat odkaz na tento soubor
   a na ep-mobil.js z Editoru HTML kódu.
   ========================================================================== */
@media (max-width: 767px) {
  /* --- 1) lišta nahoře + hlavička přilepená při scrollu (sticky – plynulé, bez přepočtů v JS) --- */
  body.ep-mob .overall-wrapper { padding-top: 0 !important; }
  body.ep-mob .top-navigation-bar {
    position: sticky !important;
    top: 0 !important;
    transition: transform .3s ease-out !important;
  }
  body.ep-mob #header {
    position: sticky !important;
    top: 50px !important;
    margin-bottom: 0 !important;
    transition: transform .3s ease-out;
  }
  body.ep-mob #navigation { top: calc(var(--ep-top, 0px) + 50px) !important; }
  /* při scrollu dolů Shoptet schová lištu s logem – vyhledávání se posune úplně nahoru, bez mezery */
  html.scrolled-down body.ep-mob .top-navigation-bar { transform: translateY(-50px) !important; }
  html.scrolled-down body.ep-mob #header { transform: translateY(-50px); }

  /* vyskakovací okno košíku (po přidání do košíku) – začíná pod lištou, vyhledávání se po dobu otevření schová */
  body.ep-mob .user-action .popup-widget {
    top: var(--ep-top, 0px) !important;
    bottom: 0 !important;
    height: auto !important;
    max-height: none !important;
  }
  body.ep-mob.user-action-visible #header .search { display: none !important; }
  /* náhled košíku po ťuknutí na ikonu: jen tak vysoký, kolik má položek, pod ním ztmavená stránka */
  body.ep-mob #cart-widget.popup-widget {
    bottom: auto !important;
    max-height: calc(100vh - var(--ep-top, 0px) - 60px) !important;
    overflow-y: auto !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
    border-radius: 0 0 14px 14px;
  }
  /* při otevřeném náhledu je místo ikony košíku křížek (zavřít), po zavření se vrátí původní ikona */
  body.ep-mob.cart-window-visible #header .cart-count:before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") center / 22px 22px no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") center / 22px 22px no-repeat !important;
  }
  body.ep-mob.cart-window-visible #header .cart-count > i { visibility: hidden !important; }
  /* křížek v jemném šedém kolečku */
  body.ep-mob.cart-window-visible #header .cart-count { display: flex !important; align-items: center; justify-content: center; width: 25px !important; }
  body.ep-mob.cart-window-visible #header .cart-count:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ececec;
    transform: translate(-50%, -50%);
    z-index: -1;
  }
  body.ep-mob.cart-window-visible #header .cart-count:before {
    width: 18px !important;
    height: 18px !important;
    -webkit-mask-size: 18px 18px !important;
    mask-size: 18px 18px !important;
  }

  /* cookie lišta: kompaktní, text z administrace beze změny, tlačítka Nastavení a Souhlasím vedle sebe */
  .siteCookies.siteCookies--bottom { left: 8px !important; right: 8px !important; bottom: 8px !important; }
  .siteCookies.siteCookies--bottom .siteCookies__form {
    display: grid !important;
    grid-template-columns: 1fr 1.4fr;
    gap: 8px;
    padding: 14px 14px 12px !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, .18);
  }
  .siteCookies.siteCookies--bottom .siteCookies__content { display: contents !important; }
  .siteCookies.siteCookies--bottom .siteCookies__text { grid-column: 1 / -1; margin: 0 0 2px !important; }
  .siteCookies.siteCookies--bottom .siteCookies__text p { font-size: 12px !important; line-height: 1.45 !important; margin: 0 0 6px !important; color: #555; }
  .siteCookies.siteCookies--bottom .siteCookies__text p:first-child { font-size: 14px !important; color: #343434; margin-bottom: 4px !important; }
  .siteCookies.siteCookies--bottom .siteCookies__text p:first-child strong:after { content: " \1F36A"; }
  /* košík: křížek pro odebrání vpravo nahoře vedle názvu (ne nalepený za součtem) */
  body.ep-mob .cart-table tr.removeable { position: relative !important; }
  body.ep-mob .cart-table tr.removeable td.p-name { padding-right: 40px !important; }
  body.ep-mob .cart-table tr.removeable td.p-total form.inline { position: absolute !important; top: 22px !important; right: 6px; margin: 0 !important; }
  /* okno Hlídat dostupnost (Shoptet): nadpis se na telefonu nevešel vedle křížku */
  #watchdog-form .watchdog-title { font-size: 20px !important; line-height: 1.3 !important; padding: 0 28px !important; }
  .siteCookies.siteCookies--bottom .siteCookies__links { grid-column: 1; margin: 0 !important; }
  .siteCookies.siteCookies--bottom .siteCookies__buttonWrap { grid-column: 2; }
  .siteCookies.siteCookies--bottom .siteCookies__link,
  .siteCookies.siteCookies--bottom .siteCookies__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    height: 42px !important;
    padding: 0 8px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }
  body.ep-mob.cart-window-visible:after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    z-index: 55;
  }
  /* košík a objednávka: stejná hlavička jako všude jinde (logo, panáček, košík, menu, vyhledávání) */
  body.ep-mob.ordering-process #header .site-name { display: block !important; }
  body.ep-mob.ordering-process .responsive-tools a.toggle-window[data-target="navigation"] {
    position: absolute !important;
    right: 10px !important;
    top: 4px !important;
    width: 40px !important;
    height: 40px !important;
  }
  /* ikona košíku tam, kde ji Shoptet nevykreslí (košík, objednávka) – stejná ikona jako všude */
  body.ep-mob .responsive-tools a.ep-cartlink {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 3px;
    right: 55px;
    width: 35px;
    height: 44px;
  }
  body.ep-mob .responsive-tools a.ep-cartlink:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-color: #343434;
    -webkit-mask: url(/user/documents/upload/kodovani/shopping-bag.svg) center / contain no-repeat;
    mask: url(/user/documents/upload/kodovani/shopping-bag.svg) center / contain no-repeat;
  }

  /* kroky objednávky (1 Košík – 2 Doprava a platba – 3 Informace o vás) i na mobilu, pod hlavičkou */
  body.ep-mob ol.cart-header {
    position: static !important;
    top: auto !important; left: auto !important; right: auto !important;
    width: auto !important; height: auto !important;
    z-index: auto !important; transform: none !important; box-shadow: none !important;
    display: flex !important;
    counter-reset: epstep;
    list-style: none;
    margin: 0 0 16px !important;
    padding: 14px 4px 12px !important;
    border-bottom: 1px solid #e6ded5;
    background: #fff;
  }
  body.ep-mob ol.cart-header > li {
    display: flex !important;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    position: relative;
    text-align: center;
    font-size: 12px !important;
    line-height: 1.25;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
    color: #6b6b6b;
    padding: 0 2px !important;
    min-width: 0;
    margin: 0 !important;
    height: auto !important;
    background: none !important;
    border: 0 !important;
  }
  body.ep-mob ol.cart-header > li * {
    font-size: inherit !important; font-weight: inherit !important; color: inherit !important;
    text-decoration: none !important; padding: 0 !important; margin: 0 !important;
    background: none !important; border: 0 !important; display: inline !important;
    text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap !important;
  }
  /* případné ikonky šablony u kroků vypnuté, aby se nepletly s čísly */
  body.ep-mob ol.cart-header > li *:before,
  body.ep-mob ol.cart-header > li *:after { display: none !important; content: none !important; }
  body.ep-mob ol.cart-header > li:before {
    counter-increment: epstep;
    content: counter(epstep);
    display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    border: 1.5px solid #d4d4d4; background: #fff; color: #9a9999;
    font-size: 13px; font-weight: 600; margin-bottom: 5px;
    position: relative; z-index: 1;
  }
  body.ep-mob ol.cart-header > li:after {
    content: ""; position: absolute; top: 14px;
    left: calc(50% + 18px); right: calc(-50% + 18px);
    height: 1.5px; background: #e6ded5;
  }
  body.ep-mob ol.cart-header > li:last-child:after { display: none; }
  @media (max-width: 359px) { body.ep-mob ol.cart-header > li { font-size: 11px !important; } }
  body.ep-mob ol.cart-header > li.active { color: #343434; font-weight: 600; }
  body.ep-mob ol.cart-header > li.active:before {
    background: linear-gradient(90deg, #ebc74b, #ff9742) border-box no-repeat;
    border-color: transparent; color: #343434;
  }
  /* menší nadpisy v objednávce (Zvolte způsob dopravy/platby, Osobní údaje, Fakturační adresa…) */
  body.ep-mob.ordering-process .co-box > h2:not(.h4),
  body.ep-mob.ordering-process .co-box h2:not(.h4) {
    font-size: 17px !important;
    line-height: 1.25 !important;
    padding-left: 38px !important;
    margin: 16px 0 18px !important;
  }
  body.ep-mob.ordering-process .co-box h2:not(.h4):before {
    font-size: 24px !important;
    line-height: 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin-top: -12px !important;
  }
  /* na předchozí krok jde kliknout i přes číslo, ne jen přes text */
  body.ep-mob ol.cart-header > li a { cursor: pointer; }
  body.ep-mob ol.cart-header > li a:before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    inset: 0;
    z-index: 2;
  }
  body.ep-mob ol.cart-header > li.completed:before,
  body.ep-mob ol.cart-header > li.visited:before { border-color: #ebc74b; color: #343434; }

  /* --- 2) vyhledávání vždy viditelné --- */
  body.ep-mob #header .search {
    display: block !important;
    padding: 4px 0 12px !important;
    background: #f9f9f9;
    position: relative;
  }
  body.ep-mob #header .search form { display: block !important; }
  /* v košíku a objednávce vyhledávání schované – zákazník se soustředí na dokončení nákupu */
  body.ep-mob.ordering-process #header .search { display: none !important; }
  body.ep-mob .responsive-tools a.toggle-window[data-target="search"] { display: none !important; }

  /* --- 3) panáček (přihlášení) – stejná ikona jako na PC --- */
  body.ep-mob .top-navigation-bar .responsive-tools { min-height: 50px; }
  /* zarovnání loga, panáčka, košíku a menu do jedné roviny */
  body.ep-mob #header .navigation-buttons .cart-count { top: -47px !important; }
  body.ep-mob .responsive-tools a.toggle-window[data-target="navigation"] { top: 4px !important; }
  body.ep-mob .responsive-tools a.ep-mylogin {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 6px;
    right: 95px;
    width: 40px;
    height: 40px;
  }
  body.ep-mob .responsive-tools a.ep-mylogin:before {
    content: "";
    display: inline-block;
    width: 22px; /* opticky stejně velký jako košík */
    height: 22px;
    background-color: #343434;
    -webkit-mask: url(/user/documents/upload/kodovani/user.svg) center / contain no-repeat;
    mask: url(/user/documents/upload/kodovani/user.svg) center / contain no-repeat;
  }

}

/* --- 4) skener EAN – telefony i tablety (jen dotyková zařízení, ne PC s myší) --- */
body.ep-scan-on #header .search form { position: relative; }
body.ep-scan-on #header .search input[type="search"] { padding-right: 52px !important; }
.ep-scan-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 48px;
  height: 40px;
  border: 0;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}
.ep-scan-btn svg { width: 22px; height: 22px; }

/* tablet (dotykové zařízení, ne PC): panáček opticky stejně velký jako košík */
body.ep-scan-on:not(.ep-mob) #header .navigation-buttons .mylogin:before { width: 22px; height: 22px; }

/* --- 5) náhled košíku: PC při najetí myší, telefon/tablet po ťuknutí (Remedio ho na PC skrývalo) --- */
@media (min-width: 768px) {
  body.cart-window-visible #cart-widget { display: block !important; }
  /* náhled na PC se zaoblenými rohy jako ostatní prvky webu */
  #cart-widget { border-radius: 14px !important; }
  #cart-widget .ep-cart-foot { border-radius: 0 0 14px 14px; }
  /* bílé vnitřní části náhledu nesmí překrýt zaoblené rohy (šipku nahoře ponecháváme) */
  #cart-widget > .cart-widget-inner { border-radius: 14px 14px 0 0; }
  #cart-widget > :last-child { border-radius: 0 0 14px 14px; }
}
.ep-cart-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 15px;
  border-top: 1px solid #e6ded5;
  font-size: 14px;
  color: #343434;
}
.ep-cart-total strong { font-size: 16px; font-weight: 700; }
/* spodní řádek náhledu: vlevo kolik zbývá do dopravy zdarma, vpravo tlačítko do košíku */
#cart-widget { height: auto !important; padding-bottom: 0 !important; }
#cart-widget .cart-widget-inner .cart-free-shipping { display: none !important; }
.ep-cart-foot {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px 15px;
  border-top: 1px solid #e6ded5;
  background: #fff;
}
.ep-cart-ship { flex: 1 1 auto; min-width: 0; font-size: 12px; line-height: 1.35; color: #1e1e1e; }
.ep-cart-ship strong { color: #ebc74b; font-weight: 700; }
.ep-ship-range { height: 4px; background: #dadada; margin-top: 6px; border-radius: 2px; overflow: hidden; }
.ep-ship-range > div { height: 4px; background: #ebc74b; }
#cart-widget .ep-cart-foot .cart-widget-button {
  position: static !important;
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#cart-widget .ep-cart-foot #continue-order-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: 40px !important;
  min-height: 0 !important;
  padding: 0 18px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap;
  border-radius: 10px !important;
  border: 0 !important;
  background: #343434 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
#cart-widget .ep-cart-foot #continue-order-button:hover { background: #1e1e1e !important; }
#cart-widget .ep-cart-foot #continue-order-button:before,
#cart-widget .ep-cart-foot #continue-order-button:after { display: none !important; }

/* --- 6) výběr množství v košíku a v náhledu košíku: stejný vzhled jako v seznamu produktů (− 1 +) --- */
.p-quantity .quantity,
#cart-widget .quantity {
  display: inline-flex !important;
  align-items: stretch !important;
  position: relative !important;
  width: auto !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden;
  vertical-align: middle;
}
@media (min-width: 1200px) {
  .p-quantity .quantity,
  #cart-widget .quantity { height: 44px !important; }
}
.p-quantity .quantity .increase-tooltip,
.p-quantity .quantity .decrease-tooltip,
#cart-widget .quantity .increase-tooltip,
#cart-widget .quantity .decrease-tooltip { position: absolute !important; top: 0; }
.p-quantity .quantity label,
#cart-widget .quantity label { display: block !important; order: 2; height: 100% !important; margin: 0 !important; }
.p-quantity .quantity .amount,
#cart-widget .quantity .amount {
  -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
  width: 44px !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e1e1e1 !important;
  border-right: 1px solid #e1e1e1 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #343434 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
  box-shadow: none !important;
}
.p-quantity .quantity .amount::-webkit-inner-spin-button,
.p-quantity .quantity .amount::-webkit-outer-spin-button,
#cart-widget .quantity .amount::-webkit-inner-spin-button,
#cart-widget .quantity .amount::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.p-quantity .quantity .decrease,
.p-quantity .quantity .increase,
#cart-widget .quantity .decrease,
#cart-widget .quantity .increase {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #343434 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer;
}
.p-quantity .quantity .decrease, #cart-widget .quantity .decrease { order: 1; }
.p-quantity .quantity .increase, #cart-widget .quantity .increase { order: 3; }
.p-quantity .quantity .decrease:hover, .p-quantity .quantity .increase:hover,
#cart-widget .quantity .decrease:hover, #cart-widget .quantity .increase:hover { color: #000 !important; }
.p-quantity .quantity .decrease:before, .p-quantity .quantity .decrease:after,
.p-quantity .quantity .increase:before, .p-quantity .quantity .increase:after,
#cart-widget .quantity .decrease:before, #cart-widget .quantity .decrease:after,
#cart-widget .quantity .increase:before, #cart-widget .quantity .increase:after { display: none !important; }
.p-quantity .quantity .decrease__sign, .p-quantity .quantity .increase__sign,
#cart-widget .quantity .decrease__sign, #cart-widget .quantity .increase__sign {
  display: inline-block !important; font-size: 18px !important; line-height: 1 !important;
}
/* řádek v náhledu košíku: obrázek | název a cena, pod tím množství a jednotka | odebrat */
#cart-widget .cart-widget-product {
  display: grid !important;
  grid-template-columns: 64px auto 1fr 24px;
  grid-template-areas: "img name name del" "img qty unit del";
  column-gap: 10px;
  row-gap: 8px;
  align-items: center;
  width: 100% !important;
  box-sizing: border-box;
  padding: 12px 15px !important;
}
#cart-widget .cart-widget-product > div {
  display: block !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}
#cart-widget .cart-widget-product-image { grid-area: img; }
#cart-widget .cart-widget-product-image img { width: 64px !important; height: 64px !important; object-fit: contain; display: block; }
#cart-widget .cart-widget-product-name { grid-area: name; text-align: left !important; }
#cart-widget .cart-widget-product-amount { grid-area: qty; }
#cart-widget .cart-widget-product-unit { grid-area: unit; text-align: left !important; }
#cart-widget .cart-widget-product-delete { grid-area: del; text-align: right !important; }

/* --- 7) termín doručení a osobní odběr v detailu produktu ---
   datum doručení bere ze Shoptetu, osobní odběr počítá podle otevírací doby (JS) */
.ep-dl { clear: both; flex: 0 0 100%; width: 100%; max-width: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; margin: 10px 0 4px; font-size: 13px; line-height: 1.35; color: #6b6b6b; text-align: left; }
.ep-dl-r { display: flex; gap: 6px; align-items: flex-start; min-width: 0; }
.ep-dl-r svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 0; }
.ep-dl-r > div { text-align: left; }
.ep-dl-m b, .ep-dl-m a { font-weight: 600; color: #6b6b6b; }
.ep-dl-m a { text-decoration: underline; }
.ep-dl-s { color: #9a9a9a; font-size: 11.5px; }
/* koncový zákazník a B2B: jeden řádek místo „Můžeme doručit do“, šedě jako u velkoobchodu */
.ep-del { color: #6b6b6b; }
.ep-del b, .ep-del a { font-weight: 600; color: #6b6b6b; }
.ep-del a { text-decoration: underline; }
/* PC a tablet: nahoře cena a dostupnost jako dosud, pod jemnou linkou
   termíny vedle sebe zarovnané doprava */
@media (min-width: 768px) {
  .basic-info:has(> .ep-dl) .basic-info__availability .availability-value .availability-label,
  .basic-info:has(> .ep-dl) .basic-info__availability .availability-value .acronym,
  .basic-info:has(> .ep-dl) .basic-info__availability .availability-value .availability-amount,
  .basic-info:has(> .ep-dl) .basic-info__availability .availability-value .tooltip-text { font-size: 16.5px; }
  .basic-info:has(> .ep-dl) > .p-final-price-wrapper { align-self: flex-start; position: relative; top: 10px; }
  .basic-info > .ep-dl { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 6px 22px; margin: 11px 0 2px; padding-top: 10px; border-top: 1px solid #efefef; }
}

/* mimo mobil se náhradní ikona košíku nezobrazuje */
.ep-cartlink { display: none; }

/* overlay skeneru (mimo media query, aby fungoval i po otočení telefonu) */
.ep-scan-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #000;
  display: flex;
  flex-direction: column;
  font-family: Montserrat, sans-serif;
}
.ep-scan-overlay video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ep-scan-frame {
  position: absolute;
  left: 50%;
  top: 45%;
  width: 78vw;
  max-width: 340px;
  height: 160px;
  transform: translate(-50%, -50%);
  border: 3px solid #ebc74b;
  border-radius: 14px;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .45);
}
.ep-scan-frame:after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 50%;
  height: 2px;
  background: #ff9742;
  animation: ep-scan-line 1.6s ease-in-out infinite;
}
@keyframes ep-scan-line {
  0%, 100% { transform: translateY(-60px); }
  50% { transform: translateY(60px); }
}
.ep-scan-text {
  position: absolute;
  left: 16px;
  right: 16px;
  top: calc(45% + 100px);
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}
.ep-scan-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border-radius: 22px;
  border: 0;
  background: rgba(255, 255, 255, .9);
  color: #343434;
  font-size: 26px;
  line-height: 44px;
  text-align: center;
  cursor: pointer;
}
