.gptday-memes-wrapper { max-width: 1100px; margin: 0 auto; padding: 32px 0; }
.gptday-memes-title { font-size: 2em; color: #4f46e5; margin-bottom: 20px; text-align:center;}
.gptday-memes-filters { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-bottom:20px; }
.gptday-memes-categories { display: flex; flex-wrap: wrap; gap:7px; }
.gptday-chip { background:#f1f5f9; color:#334155; padding:6px 14px; border-radius:24px; font-size:1em; text-decoration:none; transition:.18s; }
.gptday-chip.selected, .gptday-chip:hover { background:#4f46e5; color:#fff;}
.gptday-memes-searchform input { border:1px solid #e5e7eb; border-radius:8px; padding:8px 14px; }
.gptday-memes-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap:18px; }
.gptday-meme-card { background:#fff; border-radius:18px; box-shadow:0 6px 32px #cbd5e1a9; padding:18px; text-align:center; display:flex; flex-direction:column; min-height:340px; position:relative;}
.gptday-meme-image img {
    border-radius: 12px;}
.gptday-meme-title { font-size:1.16em; margin:11px 0 4px 0; color:#222;}
.gptday-meme-desc { font-size:1em; color:#64748b;}
.gptday-meme-meta { margin-top:auto; padding-top:10px; }
.gptday-meme-meta-cat { background:#e0e7ff; color:#6366f1; font-size:0.92em; border-radius:9px; padding:3px 10px; margin-right:4px;}
.gptday-memes-form { background:#f9fafb; border-radius:13px; box-shadow:0 3px 12px #cbd5e140; max-width:420px; margin:20px auto; display:flex; flex-direction:column; gap:11px; padding:20px 18px;}
.gptday-memes-form input[type="text"], .gptday-memes-form textarea, .gptday-memes-form select { border:1px solid #e5e7eb; border-radius:7px; padding:8px 10px;}
.gptday-memes-form button { background:#4f46e5; color:#fff; border:none; border-radius:8px; padding:9px 20px; cursor:pointer;}
.gptday-memes-success { color:green; font-weight:500; margin-bottom:8px;}
.gptday-meme-card.new { border:2px solid #22c55e; animation:bounce-in .6s;}
.gptday-meme-new { position:absolute; top:10px; right:10px; background:#22c55e; color:#fff; border-radius:9px; padding:2px 8px; font-size:0.91em;}
@keyframes bounce-in { 0%{transform:scale(0.7);} 60%{transform:scale(1.15);} 100%{transform:scale(1);} }
.gptday-meme-download-btn {
    display: inline-block;
    margin: 8px 0 0 0;
    padding: 7px 19px;
    background: #6366f1;
    color: #fff !important;
    border-radius: 8px;
    font-size: 1em;
    text-align: center;
    transition: background 0.2s;
    text-decoration: none !important;
    font-weight: 600;
    box-shadow: 0 2px 12px 0 rgba(99,102,241,.10);
}
.gptday-meme-download-btn:hover {
    background: #4f46e5;
    color: #fff;
}
/* =================== */
/* Floating buttons    */
/* =================== */
.gptday-memes-float-btn {
  color: #fff;
  font-size: 2em;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 32px #4f46e530;
  z-index: 9999;
  text-decoration: none;
  transition: .18s;
  position: fixed;
  right: 32px;
}
.gptday-memes-float-btn-add {
  bottom: 32px;
  background: #4f46e5;
}
.gptday-memes-float-btn-rand {
  bottom: 106px;  /* отступ больше, чтобы не перекрывал кнопку "добавить" и "вверх" */
  background: #f59e42;
}
.gptday-memes-float-btn:hover { background: #22c55e !important; }

/* Dark theme */
body.gptday-memes-dark, .gptday-memes-dark .gptday-meme-card { background:#18181b !important; color:#f1f5f9 !important; }
.gptday-memes-dark .gptday-meme-card { border-color:#6366f1; }
.gptday-memes-dark .gptday-chip { background:#3730a3; color:#fff; }

/* Реакции */
.gptday-meme-like.liked {
  background: #22c55e !important;
  color: #fff !important;
  border: 1px solid #16a34a !important;
  transition: background 0.2s, color 0.2s, border 0.2s;
}

/* Кнопки лайков */
.gptday-meme-like {
  background: #f1f5f9;
  color: #64748b;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 6px 13px;
  margin: 0 2px;
  font-size: 1.1em;
  cursor: pointer;
  transition: background 0.16s, color 0.16s, border 0.16s;
}
.gptday-meme-like:hover:not(.liked) {
  background: #e0e7ff;
  color: #4f46e5;
  border: 1px solid #a5b4fc;
}

/* Toast */
.gptday-toast {
  position: fixed;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  background: #323232;
  color: #fff;
  padding: 13px 34px;
  border-radius: 32px;
  font-size: 1.1em;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  transition: opacity .3s;
}
.gptday-toast.active {
  opacity: 0.94;
  pointer-events: auto;
}

/* Анимация pop */
@keyframes pop {
  0% { transform: scale(1);}
  70% { transform: scale(1.25);}
  100% { transform: scale(1);}
}
.gptday-meme-like.animated {
  animation: pop 0.22s;
}
.gptday-memes-memweek {
  margin-bottom: 25px;
  background: #e0e7ff;
  border-radius: 13px;
  padding: 14px 10px 18px 10px;
  text-align: center;
  max-width: 300px;         /* СТАНДАРТНЫЙ РАЗМЕР КАРТОЧКИ */
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 6px 24px #cbd5e1a9;
}
.gptday-memes-memweek img {
  max-width: 90%;           /* чтобы не вылезало за карточку */
  border-radius: 12px;
}
.gptday-memes-memweek .mem-title {
  font-size: 1.07em;
  margin: 8px 0 2px 0;
  font-weight: 600;
}
.gptday-memes-memweek .mem-desc {
  color: #64748b;
  font-size: 0.97em;
}
.gptday-memes-memweek {
  max-width: 330px;
  margin: 0 auto 25px auto;
  background: #fff7e0;
  border-radius: 18px;
  box-shadow: 0 6px 24px #facc15b8;
  padding: 18px 14px 16px 14px;
  text-align: center;
  position: relative;
  border: 2px solid #fbbf24;
}
.gptday-memes-memweek .memweek-hot {
  position: absolute;
  top: 13px;
  right: 13px;
  background: #f59e42;
  color: #fff;
  border-radius: 9px;
  padding: 2px 13px 2px 8px;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px #fbbf2436;
  display: flex;
  align-items: center;
  gap: 4px;
}
.gptday-memes-memweek img {
  max-width: 94%;
  border-radius: 12px;
  margin-bottom: 7px;
}
.gptday-memes-memweek .mem-title {
  font-size: 1.13em;
  margin: 9px 0 3px 0;
  font-weight: 600;
  color: #222;
}
.gptday-memes-memweek .mem-desc {
  color: #64748b;
  font-size: 0.98em;
  margin-bottom: 10px;
}
