/* =====================================================================
   LotusMC – styly nového webu (věci, které Tebex šablona neměla,
   protože je kreslil Tebex sám). Barvy a tvary drží style.css.
   ===================================================================== */

[hidden] { display: none !important; }

/* chyba v přihlášení */
.lm-form-err {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  color: #ffc2cc;
  font-size: .88rem;
  font-weight: 700;
  background: rgba(255, 77, 109, .12);
  box-shadow: inset 0 0 0 1px rgba(255, 77, 109, .45);
}

/* detail balíčku (modal) */
.lm-detail { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: start; }
.lm-detail__media { margin: 0; cursor: default; }
.lm-detail__media .lm-pkg__glyph { font-size: 3.4rem; }
.lm-detail__text > :first-child { margin-top: 0; }
.lm-modal__foot .lm-price s { display: inline; margin-right: 8px; }
@media (max-width: 560px) {
  .lm-detail { grid-template-columns: minmax(0, 1fr); }
  .lm-detail__media { width: 140px; margin: 0 auto; }
}

/* ===== Poslední nákupy (z module.recentpayments) ===== */
.lm-feed { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.lm-feed__item {
  position: relative;
  display: flex; align-items: center; gap: 11px;
  padding: 8px 10px 8px 8px;
  border-radius: 13px;
  background: rgba(255, 170, 90, .05);
  box-shadow: inset 0 0 0 1px rgba(255, 170, 90, .12);
  opacity: 0;
  animation: lm-feed-in .5s ease-out forwards;
  animation-delay: calc(var(--i, 0) * 90ms);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.lm-feed__item:hover { transform: translateX(3px); background: rgba(255, 170, 90, .1); box-shadow: inset 0 0 0 1px rgba(255, 196, 80, .45); }
@keyframes lm-feed-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* hlava hráče s barevným rámečkem */
.lm-feed__head {
  position: relative; flex: none;
  width: 44px; height: 44px; padding: 2px;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--gold, #ffd23f), var(--lotus, #f4508a));
}
.lm-feed__head img { width: 40px; height: 40px; border-radius: 9px; image-rendering: pixelated; display: block; background: #2a1407; }

.lm-feed__info { flex: 1; min-width: 0; line-height: 1.25; }
.lm-feed__name { display: block; min-width: 0; font-weight: 800; font-size: 1.02rem; color: var(--text, #fff4e8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-feed__time { display: block; margin-top: 1px; font-size: .7rem; color: var(--faint, #a07c5c); }

.lm-feed__name--m { font-size: .94rem; }
.lm-feed__name--s { font-size: .86rem; letter-spacing: -.01em; }
.lm-feed__price {
  flex: none;
  display: inline-block;
  margin-top: 4px;
  padding: 3px 9px;
  border-radius: 8px;
  font-family: var(--font-display, sans-serif); font-size: .86rem; font-weight: 700;
  text-shadow: 0 0 14px rgba(255, 170, 50, .35);
  color: var(--gold, #ffd23f);
  background: rgba(255, 196, 71, .1);
  box-shadow: inset 0 0 0 1px rgba(255, 196, 71, .28);
  white-space: nowrap;
}

/* nejnovější nákup – zlatá záře, štítek a odlesk */
.lm-feed__item.is-new {
  overflow: hidden;
  background: linear-gradient(90deg, rgba(255, 196, 71, .16), rgba(244, 80, 138, .08));
  animation: lm-feed-in .5s ease-out forwards, lm-feed-glow 2.8s ease-in-out .5s infinite;
}
@keyframes lm-feed-glow {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255, 196, 80, .45), 0 0 10px -4px rgba(255, 180, 40, .3); }
  50%      { box-shadow: inset 0 0 0 1px rgba(255, 220, 130, .9), 0 0 22px -4px rgba(255, 180, 40, .6); }
}
.lm-feed__item.is-new::after {
  content: ""; position: absolute; top: -40%; bottom: -40%; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 246, 214, .35), transparent);
  transform: skewX(-20deg);
  animation: lm-feed-sweep 5s ease-in-out 1s infinite;
  pointer-events: none;
}
@keyframes lm-feed-sweep { 0%, 55% { left: -60%; } 80%, 100% { left: 130%; } }
.lm-feed__item.is-new .lm-feed__head { animation: lm-feed-ring 2.8s ease-in-out infinite; }
@keyframes lm-feed-ring { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 196, 71, 0); } 50% { box-shadow: 0 0 12px 1px rgba(255, 196, 71, .7); } }
.lm-feed__new {
  position: absolute; top: -1px; right: 10px;
  padding: 1px 6px 2px;
  border-radius: 0 0 6px 6px;
  font-size: .58rem; font-weight: 800; letter-spacing: .1em;
  color: #fff;
  background: linear-gradient(180deg, #ff86b4, var(--lotus, #f4508a));
}
.lm-feed__item.is-new { padding-top: 18px; }

.lm-feed__empty { padding: 6px 2px; color: var(--muted, #dcb896); font-size: .88rem; }
.lm-feed__empty b { color: var(--gold, #ffd23f); }

@media (prefers-reduced-motion: reduce) {
  .lm-feed__item, .lm-feed__item.is-new, .lm-feed__item.is-new::after, .lm-feed__head { animation: none !important; opacity: 1; }
}

/* koruna nad top donátorem */
.lm-donorcard__crown { height: auto; }

/* poděkování po nákupu */
.lm-thanks { text-align: center; padding: 34px 22px; }
.lm-thanks .lm-prose { max-width: 520px; margin: 0 auto 14px; }
.lm-thanks__icon {
  width: 64px; height: 64px;
  margin: 0 auto 16px;
  display: grid; place-items: center;
  border-radius: 18px;
  color: #4a1402;
  background: linear-gradient(180deg, #fff27a, var(--gold) 30%, var(--amber) 70%, var(--ember));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 4px 0 #8a2e06, 0 0 30px -6px rgba(255, 190, 60, .8);
}
.lm-thanks__icon .lm-icon { width: 32px; height: 32px; stroke-width: 3; }

/* vlastní stránky (obchodní podmínky, GDPR) */
.lm-page h2 { font-size: 1.15rem; margin-top: 1.4em; }
.lm-page h3 { font-size: 1rem; margin-top: 1.2em; }
.lm-page > :first-child { margin-top: 0; }

/* plynulá výměna obsahu */
#lm-view { transition: opacity .15s ease; }

/* toast: zavírací křížek vždy vpravo */
.lm-toast { gap: 10px; }
.lm-toast > button:last-child { flex: none; }

/* ===== Cíl serveru – široký panel (z module.goal.html) ===== */
.lm-goalwide {
  position: relative;
  margin: 0 0 18px;
  padding: 20px 22px 18px;
  border-radius: var(--r-lg, 18px);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255, 196, 71, .16), transparent 55%),
    radial-gradient(90% 120% at 100% 0%, rgba(244, 80, 138, .12), transparent 55%),
    linear-gradient(180deg, rgba(255, 170, 90, .07), rgba(255, 140, 26, .01)),
    rgba(46, 22, 8, .7);
  box-shadow: inset 0 0 0 1px rgba(255, 196, 80, .32), 0 16px 36px -18px rgba(0, 0, 0, .85);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
          backdrop-filter: blur(14px) saturate(140%);
}
.lm-goalwide__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.lm-goalwide__kicker { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--lotus-soft, #f79bc0); }
.lm-goalwide__title { margin: 4px 0 0; font-family: var(--font-display, sans-serif); font-weight: 700; font-size: clamp(1.15rem, 1rem + .8vw, 1.5rem); color: var(--text, #fff4e8); }
.lm-goalwide__amount { margin-top: 6px; color: var(--muted, #dcb896); font-size: .9rem; }
.lm-goalwide__amount b { font-family: var(--font-display, sans-serif); color: var(--gold, #ffd23f); font-size: 1.05rem; }

.lm-goalwide__pct {
  flex: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-width: 108px;
  padding: 8px 14px 9px;
  border-radius: 14px;
  color: #4a1402;
  background: linear-gradient(180deg, #fff27a 0%, var(--gold, #ffd23f) 28%, var(--amber, #ffa51f) 68%, var(--ember, #f46b0c) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 4px 0 #8a2e06, 0 10px 22px -6px rgba(244,107,12,.6), 0 0 24px -6px rgba(255,190,60,.7);
}
.lm-goalwide__pct small { font-size: .62rem; font-weight: 800; letter-spacing: .14em; opacity: .75; }
.lm-goalwide__pct strong { font-family: var(--font-display, sans-serif); font-size: 1.45rem; line-height: 1.1; }

/* dráha + výplň */
.lm-goalwide__bar { position: relative; margin: 20px 0 6px; }
.lm-goalwide__track {
  position: relative;
  height: 16px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .38);
  box-shadow: inset 0 0 0 1px rgba(255, 170, 90, .16), inset 0 2px 6px rgba(0,0,0,.45);
  overflow: hidden;
}
.lm-goalwide__track::after { /* jemný odlesk po celé dráze – ať nevypadá mrtvě ani na 0 % */
  content: ""; position: absolute; top: 0; bottom: 0; left: -30%; width: 30%;
  background: linear-gradient(90deg, transparent, rgba(255, 196, 110, .10), transparent);
  animation: lm-gw-track 3.6s ease-in-out infinite;
}
@keyframes lm-gw-track { 0% { left: -30%; } 70%, 100% { left: 100%; } }
.lm-goalwide__fill {
  position: relative;
  height: 100%;
  border-radius: inherit;
  overflow: hidden;              /* odlesk zůstane uvnitř výplně a nikde "nevisí" */
  background:
    repeating-linear-gradient(-45deg, rgba(255,255,255,.18) 0 8px, transparent 8px 16px),
    linear-gradient(90deg, var(--lotus, #f4508a), var(--ember, #f46b0c) 55%, var(--gold, #ffd23f));
  background-size: 22.6px 22.6px, 100% 100%;
  box-shadow: 0 0 16px rgba(255, 150, 40, .65);
  animation: lm-gw-stripes 1.2s linear infinite;
}
.lm-goalwide__fill.is-some { min-width: 16px; }
.lm-goalwide__fill::after {
  content: ""; position: absolute; inset: 0 auto 0 -40%; width: 40%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
  animation: lm-gw-shine 2.6s ease-in-out infinite;
}
@keyframes lm-gw-stripes { to { background-position: 22.6px 0, 0 0; } }
@keyframes lm-gw-shine { 0% { left: -40%; } 60%, 100% { left: 110%; } }
/* zářící "hlavička" na konci výplně */
.lm-goalwide__head {
  position: absolute; top: 50%;
  width: 22px; height: 22px; margin: -11px 0 0 -11px;
  border-radius: 50%;
  background: radial-gradient(circle, #fffbe6 0 22%, #ffd23f 40%, rgba(244, 107, 12, 0) 72%);
  filter: drop-shadow(0 0 8px rgba(255, 200, 80, .9));
  animation: lm-gw-pulse 1.8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes lm-gw-pulse { 0%, 100% { transform: scale(.85); opacity: .85; } 50% { transform: scale(1.15); opacity: 1; } }

/* milníky */
.lm-goalwide__ticks { position: absolute; inset: 0; pointer-events: none; }
.lm-goalwide__ticks i { position: absolute; top: 3px; bottom: 3px; width: 2px; margin-left: -1px; border-radius: 2px; background: rgba(255, 240, 220, .22); }
.lm-goalwide__labels { position: relative; height: 18px; font-size: .72rem; font-weight: 800; color: var(--faint, #a07c5c); }
.lm-goalwide__labels span { position: absolute; top: 2px; transform: translateX(-50%); white-space: nowrap; }
.lm-goalwide__labels span:first-child { transform: none; }
.lm-goalwide__labels span:last-child { transform: translateX(-100%); }
.lm-goalwide__labels span.is-on { color: var(--gold, #ffd23f); text-shadow: 0 0 10px rgba(255, 200, 80, .6); }

/* zpráva podle fáze */
.lm-goalwide__status {
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: 14px;
  margin-top: 12px; padding: 12px 14px;
  border-radius: 14px;
  background: rgba(20, 9, 3, .45);
  box-shadow: inset 0 0 0 1px rgba(255, 196, 80, .22);
}
.lm-goalwide__status::after {
  content: ""; position: absolute; top: -30%; bottom: -30%; left: -50%; width: 35%;
  background: linear-gradient(100deg, transparent, rgba(255, 240, 200, .16), transparent);
  transform: skewX(-20deg);
  animation: lm-gw-msg 6.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes lm-gw-msg { 0%, 60% { left: -50%; opacity: 0; } 65% { opacity: 1; } 85% { left: 120%; opacity: .8; } 88%, 100% { left: 120%; opacity: 0; } }
.lm-goalwide__icon {
  flex: none; width: 46px; height: 46px; display: grid; place-items: center;
  border-radius: 12px;
  background: rgba(255, 170, 90, .1);
  box-shadow: inset 0 0 0 1px rgba(255, 196, 80, .3), 0 0 18px -6px rgba(255, 180, 60, .7);
  animation: lm-gw-bob 3s ease-in-out infinite;
}
.lm-goalwide__icon svg { display: block; filter: drop-shadow(0 0 6px rgba(255, 190, 70, .55)); }
@keyframes lm-gw-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
.lm-goalwide__status strong { display: block; color: var(--text, #fff4e8); font-family: var(--font-display, sans-serif); font-weight: 600; font-size: .98rem; }
.lm-goalwide__status p { margin: 2px 0 0; color: var(--muted, #dcb896); font-size: .86rem; line-height: 1.4; }
.lm-goalwide__status .lm-btn { margin-left: auto; flex: none; position: relative; z-index: 1; }

/* cíl splněn – celý panel zlatě pulzuje */
.lm-goalwide--done { animation: lm-gw-done 3s ease-in-out infinite; }
@keyframes lm-gw-done {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255, 210, 110, .5), 0 0 14px -2px rgba(255, 180, 40, .25); }
  50%      { box-shadow: inset 0 0 0 1px rgba(255, 230, 150, .95), 0 0 36px 0 rgba(255, 180, 40, .5); }
}

.lm-sidebar .lm-goalwide { padding: 16px; }
.lm-sidebar .lm-goalwide__top { flex-direction: column; }

@media (max-width: 760px) {
  .lm-goalwide { padding: 16px; }
  .lm-goalwide__pct { min-width: 86px; padding: 6px 10px 7px; }
  .lm-goalwide__pct strong { font-size: 1.15rem; }
  .lm-goalwide__labels span:not(:first-child):not(:last-child) { display: none; }
  .lm-goalwide__status .lm-btn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lm-goalwide, .lm-goalwide *, .lm-goalwide *::after { animation: none !important; }
}
