/* ============================================================
   eBay Joomla Widget – Stylesheet v2.0
   Enthält: Grid, Karten-Styles, Skeleton-Loader, Dark Mode,
            Affiliate-Badge, Responsive
   ============================================================ */

/* ── Custom Properties ────────────────────────────────────── */
:root {
  --ebay-radius:    8px;
  --ebay-shadow:    0 2px 8px rgba(0,0,0,.09);
  --ebay-shadow-h:  0 6px 20px rgba(0,0,0,.15);
  --ebay-gap:       1.2rem;
  --ebay-price:     #c0392b;
  --ebay-btn:       #3867d6;
  --ebay-btn-text:  #ffffff;
  --ebay-bg:        #ffffff;
  --ebay-border:    #e8e8e8;
  --ebay-text:      #2d2d2d;
  --ebay-muted:     #888;
  --ebay-skel-base: #ececec;
  --ebay-skel-shine:#f8f8f8;
}

/* ── Widget-Wrapper ──────────────────────────────────────── */
.ebay-widget { margin: 1.5rem 0; }
.ebay-widget-title {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ebay-text);
  border-left: 4px solid var(--ebay-btn);
  padding-left: .75rem;
}

/* ── Responsive Grid ─────────────────────────────────────── */
.ebay-grid {
  display: grid;
  gap: var(--ebay-gap);
}
.ebay-cols-2 { grid-template-columns: repeat(2, 1fr); }
.ebay-cols-3 { grid-template-columns: repeat(3, 1fr); }
.ebay-cols-4 { grid-template-columns: repeat(4, 1fr); }
.ebay-cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1024px) {
  .ebay-cols-4, .ebay-cols-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .ebay-cols-3, .ebay-cols-4, .ebay-cols-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .ebay-cols-2, .ebay-cols-3, .ebay-cols-4, .ebay-cols-6 {
    grid-template-columns: 1fr;
  }
}

/* ── Karte – Standard ─────────────────────────────────────── */
.ebay-card {
  background: var(--ebay-bg);
  border: 1px solid var(--ebay-border);
  border-radius: var(--ebay-radius);
  box-shadow: var(--ebay-shadow);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
  position: relative;
}
.ebay-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ebay-shadow-h);
}
.ebay-card__img-wrap {
  background: #f9f9f9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ebay-card__img-wrap img {
  width: 100%;
  object-fit: contain;
  transition: transform .3s ease;
}
.ebay-card:hover .ebay-card__img-wrap img { transform: scale(1.04); }
.ebay-card__body { padding: .85rem; flex: 1; display: flex; flex-direction: column; }
.ebay-card__title {
  font-size: .82rem;
  font-weight: 600;
  color: var(--ebay-text);
  line-height: 1.35;
  margin: 0 0 .5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ebay-card__meta { font-size: .75rem; color: var(--ebay-muted); margin-bottom: .4rem; }
.ebay-card__price {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ebay-price);
  margin: auto 0 .6rem;
}
.ebay-card__shipping { font-size: .72rem; color: var(--ebay-muted); margin-bottom: .5rem; }
.ebay-card__btn {
  display: block;
  text-align: center;
  padding: .5rem .75rem;
  border-radius: calc(var(--ebay-radius) - 2px);
  color: var(--ebay-btn-text) !important;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: filter .2s;
}
.ebay-card__btn:hover { filter: brightness(1.12); }

/* Affiliate-Badge */
.ebay-card__affiliate-badge {
  position: absolute;
  top: 8px; right: 8px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .62rem;
  padding: 2px 5px;
  border-radius: 3px;
  letter-spacing: .03em;
}

/* ── Karten-Style: Minimal ───────────────────────────────── */
.ebay-style-minimal .ebay-card {
  border: none;
  box-shadow: none;
  border-bottom: 1px solid var(--ebay-border);
  border-radius: 0;
}
.ebay-style-minimal .ebay-card:hover { transform: none; box-shadow: none; }

/* ── Karten-Style: Bordered ──────────────────────────────── */
.ebay-style-bordered .ebay-card { border: 2px solid var(--ebay-btn); }

/* ── Karten-Style: Dark Mode ─────────────────────────────── */
.ebay-style-dark {
  --ebay-bg:     #1e1e2e;
  --ebay-border: #333350;
  --ebay-text:   #e0e0f0;
  --ebay-muted:  #aaa;
  --ebay-price:  #ff6b6b;
  background: #16161f;
  padding: 1rem;
  border-radius: var(--ebay-radius);
}
.ebay-style-dark .ebay-card__img-wrap { background: #2a2a3e; }
.ebay-style-dark .ebay-widget-title   { color: #e0e0f0; }

/* ── Skeleton-Loader ─────────────────────────────────────── */
.ebay-skeleton-grid {
  display: contents;
}
.ebay-skeleton-card {
  background: var(--ebay-bg);
  border: 1px solid var(--ebay-border);
  border-radius: var(--ebay-radius);
  overflow: hidden;
}
.ebay-skeleton-img {
  width: 100%;
  height: 160px;
  background: linear-gradient(90deg,
    var(--ebay-skel-base) 25%,
    var(--ebay-skel-shine) 50%,
    var(--ebay-skel-base) 75%);
  background-size: 200% 100%;
  animation: ebay-shimmer 1.4s infinite;
}
.ebay-skeleton-line {
  height: 12px;
  margin: 12px 12px 6px;
  border-radius: 4px;
  background: linear-gradient(90deg,
    var(--ebay-skel-base) 25%,
    var(--ebay-skel-shine) 50%,
    var(--ebay-skel-base) 75%);
  background-size: 200% 100%;
  animation: ebay-shimmer 1.4s infinite;
}
.ebay-skeleton-line.short { width: 55%; margin-top: 0; }

@keyframes ebay-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── Fehler & Leer-Zustand ───────────────────────────────── */
.ebay-error, .ebay-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--ebay-muted);
  font-size: .9rem;
}
.ebay-error { color: #c0392b; }
.ebay-error::before { content: '⚠️ '; }
.ebay-empty::before { content: '🔍 '; }
