/* Ticker de stiri — fix in partea de jos a paginii principale */
.ts-ticker {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1050;
  height: 44px;
  display: flex;
  align-items: stretch;
  background: #111418;
  color: #e5e7eb;
  font: 14px/44px system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  border-top: 2px solid #c8102e;      /* accentul rosu al brandului; schimba dupa logo */
  box-shadow: 0 -4px 16px rgba(0,0,0,.35);
}
.ts-ticker[hidden] { display: none; }
.ts-ticker { transition: transform .35s ease; }
.ts-ticker--hidden { transform: translateY(110%); pointer-events: none; }

.ts-ticker__label {
  flex: 0 0 auto;
  padding: 0 14px;
  background: #c8102e;
  color: #fff;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  white-space: nowrap;
}
.ts-ticker__label::before { content: "●"; margin-right: 8px; animation: ts-blink 1.6s infinite; }

.ts-ticker__viewport { flex: 1 1 auto; overflow: hidden; position: relative; }
.ts-ticker__track {
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
  animation: ts-scroll var(--ts-duration, 60s) linear infinite;
}
.ts-ticker__viewport:hover .ts-ticker__track,
.ts-ticker__viewport:focus-within .ts-ticker__track { animation-play-state: paused; }

.ts-ticker__item { display: inline-flex; align-items: center; padding: 0 28px; }
.ts-ticker__item + .ts-ticker__item::before { content: "◆"; color: #c8102e; margin-right: 28px; font-size: 9px; }
.ts-ticker__title { color: #fff; font-weight: 600; }
.ts-ticker__excerpt { color: #9ca3af; margin-left: 10px; }
.ts-ticker__source  { color: #9ca3af; margin-left: 8px; font-style: italic; }
.ts-ticker__read {
  margin-left: 12px; color: #fff; text-decoration: none; font-weight: 600;
  border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 0 10px; line-height: 24px; font-size: 12px;
}
.ts-ticker__read:hover { background: #c8102e; border-color: #c8102e; }

.ts-ticker__close {
  flex: 0 0 auto; width: 44px; border: 0; background: transparent; color: #9ca3af; font-size: 20px; cursor: pointer;
}
.ts-ticker__close:hover { color: #fff; }

/* sa nu acopere footer-ul: se adauga pe <body> cand ticker-ul e vizibil */
body.ts-ticker-visible { padding-bottom: 44px; }

@keyframes ts-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ts-blink  { 50% { opacity: .25; } }

@media (prefers-reduced-motion: reduce) {
  .ts-ticker__track { animation: none; }
  .ts-ticker__viewport { overflow-x: auto; }
}
@media (max-width: 640px) {
  .ts-ticker { height: 40px; font-size: 13px; line-height: 40px; }
  .ts-ticker__label { padding: 0 10px; font-size: 11px; }
  .ts-ticker__excerpt { display: none; }      /* pe mobil doar titlu + Citeste */
  body.ts-ticker-visible { padding-bottom: 40px; }
}

/* 5 nov 2026 (tacticalshop): bara de cookie-uri (#cookiesBar, z-index 900) sta tot jos; cat timp e pe ecran,
   bara de stiri nu apare peste ea. Cand vizitatorul o inchide, elementul e scos din pagina si bara de stiri apare. */
html:not(.consented) body:has(#cookiesBar) .ts-ticker { display: none; }
html:not(.consented) body:has(#cookiesBar).ts-ticker-visible { padding-bottom: 0; }
/* 5 nov 2026 (tacticalshop): pe mobil butonul plutitor „Produse” (#pullMenu, fix la 20px de jos) se ridica deasupra barei
   cat timp bara e afisata; cand bara se retrage (sectiunea de blog / finalul paginii) coboara la loc. */
#pullMenu { transition: bottom .35s ease; }
html.consented body:has(.ts-ticker:not(.ts-ticker--hidden):not([hidden])) #pullMenu,
body:not(:has(#cookiesBar)):has(.ts-ticker:not(.ts-ticker--hidden):not([hidden])) #pullMenu { bottom: 62px; }
