/* DealMother Deal Cards v3.4 — readability pass */

:root {
  --dm-pink: #D81B7A;
  --dm-pink-dark: #B5166A;
  --dm-pink-light: #FFE8F4;
  --dm-orange: #E8590C;
  --dm-dark: #1A1A2E;
  --dm-gray: #565B6E;
  --dm-radius: 14px;
  --dm-radius-sm: 9px;
  --dm-shadow: 0 2px 8px rgba(20,20,45,0.07);
  --dm-shadow-hover: 0 10px 26px rgba(216,27,122,0.18);
}

* { -webkit-font-smoothing: antialiased; }

/* ── Header ── */
.site-header, header#masthead {
  border-bottom: 3px solid var(--dm-pink) !important;
  box-shadow: 0 2px 6px rgba(216,27,122,0.08) !important;
}
.site-title a {
  font-weight: 800 !important;
  font-size: 25px !important;
  color: var(--dm-dark) !important;
  text-decoration: none !important;
  letter-spacing: -0.3px;
}
.main-navigation a:hover { color: var(--dm-pink) !important; }

/* ── Tagline bar ── */
.dm-tagline-bar {
  background: var(--dm-dark);
  color: #EDEEF7;
  text-align: center;
  font-size: 13px;
  padding: 8px 16px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.dm-tagline-bar b { color: #FBB6DE; font-weight: 700; }

/* ── Live pill ── */
.dm-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--dm-pink-light);
  color: var(--dm-pink-dark);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
}
.dm-live-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--dm-pink);
  display: inline-block;
  animation: dm-pulse 1.5s infinite;
}
@keyframes dm-pulse { 0%,100%{opacity:1;} 50%{opacity:0.3;} }

/* ── Filter bar ── */
.dm-filter-bar {
  background: #fff;
  border-bottom: 1px solid #EDEDF0;
  padding: 11px 16px;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.dm-filter-bar::-webkit-scrollbar { display: none; }
.dm-filter-inner { display: inline-flex; gap: 8px; }
.dm-filter-btn {
  padding: 6px 15px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  border: 1.5px solid #E5E7EB;
  background: #fff;
  color: var(--dm-gray);
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  transition: all 0.15s;
}
.dm-filter-btn.active, .dm-filter-btn:hover {
  border-color: var(--dm-pink);
  background: var(--dm-pink-light);
  color: var(--dm-pink-dark);
}

/* ── Hero ── */
.dm-hero {
  display: flex;
  background: linear-gradient(135deg, #1A1A2E 0%, #2D1B4E 100%);
  border-radius: var(--dm-radius);
  overflow: hidden;
  margin-bottom: 26px;
  color: #fff;
  min-height: 170px;
  box-shadow: 0 8px 24px rgba(26,26,46,0.22);
}
.dm-hero-img {
  width: 210px; min-width: 210px;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  position: relative;
}
.dm-hero-img img { width: 100%; object-fit: contain; max-height: 165px; }
.dm-hero-img-badge {
  position: absolute; top: 10px; left: 10px;
  background: var(--dm-orange);
  color: #fff; font-size: 11.5px; font-weight: 800;
  padding: 3px 10px; border-radius: 20px;
  z-index: 2;
}
.dm-hero-body {
  padding: 24px 26px;
  display: flex; flex-direction: column; gap: 10px;
  justify-content: center;
}
.dm-hero-top-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dm-hero-label { font-size: 11.5px; font-weight: 800; color: #FBB6DE; letter-spacing: 1.3px; text-transform: uppercase; }
.dm-hero-score {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,0.2);
  color: #FFE1AC;
  font-size: 13px; font-weight: 700;
  padding: 4px 11px; border-radius: 20px;
  cursor: help;
}
.dm-hero-score-q { opacity: 0.9; font-size: 11.5px; }
.dm-hero-title { font-weight: 700; font-size: 19px; line-height: 1.4; color: #fff; }
.dm-hero-explainer {
  font-size: 12.5px; line-height: 1.6; color: #E4E6F5;
  max-width: 480px; margin-top: -2px;
}
.dm-hero-price-row { display: flex; align-items: baseline; gap: 10px; margin-top: 2px; }
.dm-hero-price { font-weight: 800; font-size: 28px; color: #F783B9; line-height: 1; }
.dm-hero-orig { font-size: 14px; color: #ABAFC4; text-decoration: line-through; }
.dm-hero-save { background: var(--dm-orange); padding: 3px 9px; border-radius: 20px; font-size: 11.5px; font-weight: 700; }
.dm-hero-btn {
  background: var(--dm-pink);
  color: #fff !important;
  font-weight: 700; font-size: 14px;
  padding: 10px 20px;
  border-radius: 8px;
  text-decoration: none !important;
  width: fit-content;
  margin-top: 4px;
  display: inline-block;
  transition: background 0.15s, transform 0.15s;
}
.dm-hero-btn:hover { background: var(--dm-pink-dark) !important; transform: translateY(-1px); }
@media (max-width: 580px) {
  .dm-hero { flex-direction: column; }
  .dm-hero-img { width: 100%; min-width: unset; max-height: 150px; }
}

/* ── Archive wrapper ── */
.dm-archive-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 22px 16px 52px;
}

/* ── Section header ── */
.dm-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  margin-top: 8px;
}
.dm-section-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 800;
  font-size: 18.5px;
  color: var(--dm-dark);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.2px;
}
.dm-section-title::before {
  content: '';
  display: inline-block;
  width: 4px; height: 18px;
  background: var(--dm-pink);
  border-radius: 2px;
}

/* ── Grid ── */
.dm-archive-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
@media (max-width: 1100px) { .dm-archive-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 860px)  { .dm-archive-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (max-width: 580px)  { .dm-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* ── Card ── */
.dm-grid-card {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #fff;
  border: 1px solid #E9E9EF;
  border-radius: var(--dm-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 0.18s, transform 0.18s, border-color 0.18s;
  box-shadow: var(--dm-shadow);
}
.dm-grid-card:hover {
  box-shadow: var(--dm-shadow-hover);
  border-color: var(--dm-pink-light);
  transform: translateY(-4px);
}

/* ── Image ── */
.dm-grid-img-link { display: block; }
.dm-grid-img-wrap {
  width: 100%; height: 168px;
  background: #FAFAFC;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid #F3F3F6;
}
.dm-grid-img-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 12px;
  box-sizing: border-box;
}
.dm-grid-no-img { font-size: 2em; color: #ddd; }

/* ── Discount badge ── */
.dm-grid-discount {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--dm-orange);
  color: #fff;
  font-size: 11px; font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}

/* ── Store badge ── */
.dm-grid-store-badge {
  position: absolute;
  top: 10px; right: 10px;
  background: rgba(255,255,255,0.97);
  color: #3F4453;
  font-size: 10.5px; font-weight: 700;
  padding: 3px 8px;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
  z-index: 2;
}

/* ── Card body ── */
.dm-grid-body {
  padding: 14px 15px 15px;
  display: flex; flex-direction: column;
  flex: 1; gap: 8px;
}

/* ── Price row ── */
.dm-grid-price-row {
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.dm-grid-price {
  font-size: 1.3em;
  font-weight: 800;
  color: var(--dm-pink);
  line-height: 1;
}
.dm-grid-orig-price {
  font-size: 0.88em;
  color: #6B7280;
  text-decoration: line-through;
}

/* ── Title ── */
.dm-grid-title {
  font-size: 0.92em;
  font-weight: 600;
  color: #12121A;
  line-height: 1.48;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.dm-grid-title a { color: inherit; text-decoration: none; }
.dm-grid-title a:hover { color: var(--dm-pink); }

/* ── Score row ── */
.dm-grid-score-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}
.dm-hot-score {
  display: inline-flex; align-items: center; gap: 3px;
  background: #FDE9C8;
  color: #6B3900;
  font-size: 11.5px; font-weight: 700;
  padding: 3px 9px; border-radius: 8px;
  cursor: help;
}
.dm-time-ago { font-size: 11.5px; color: #4B4F60; font-weight: 500; }

/* ── Button ── */
.dm-grid-btn {
  display: block;
  margin-top: 8px;
  background: var(--dm-pink) !important;
  color: #fff !important;
  border: none !important;
  text-align: center;
  font-size: 0.85em;
  font-weight: 700;
  padding: 9px 10px;
  border-radius: var(--dm-radius-sm);
  text-decoration: none !important;
  transition: background 0.15s, transform 0.15s;
  letter-spacing: 0.1px;
}
.dm-grid-btn:hover {
  background: var(--dm-pink-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ── Pagination ── */
.dm-pagination { margin-top: 32px; text-align: center; }
.dm-pagination .nav-links { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; }
.dm-pagination .page-numbers {
  display: inline-block; padding: 7px 13px;
  border: 1px solid #E5E7EB; border-radius: 7px;
  color: #444; text-decoration: none; font-size: 0.88em;
  font-weight: 500;
}
.dm-pagination .page-numbers.current { background: var(--dm-pink); color: #fff; border-color: var(--dm-pink); }
.dm-pagination .page-numbers:hover { background: var(--dm-pink-light); color: var(--dm-pink-dark); }

/* ── Footer ── */
#colophon, footer.site-footer {
  background: var(--dm-dark) !important;
  color: #ABAFC4 !important;
}
#colophon a, footer.site-footer a { color: #ABAFC4 !important; }
#colophon a:hover, footer.site-footer a:hover { color: var(--dm-pink) !important; }
.site-info, a[href*="wordpress.org"] { display: none !important; }

/* ── Single post ── */
.dm-deal-card { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:680px; border:1px solid #EAEAEE; border-radius:var(--dm-radius); overflow:hidden; margin:0 auto 32px; position:relative; box-shadow:0 4px 18px rgba(0,0,0,0.09); background:#fff; }
.dm-img-wrap { width:100%; background:#FAFAFC; display:flex; align-items:center; justify-content:center; max-height:360px; overflow:hidden; }
.dm-product-img { width:100%; max-height:360px; object-fit:contain; display:block; }
.dm-discount-badge { position:absolute; top:16px; right:16px; background:#fff8e1; color:#B35400; font-weight:700; font-size:12.5px; padding:5px 13px; border-radius:20px; border:1px solid #ffe0b2; z-index:2; }
.dm-price-row { display:flex; align-items:baseline; gap:11px; margin:22px 26px 8px; }
.dm-price { font-size:2.3em; font-weight:800; color:var(--dm-pink); line-height:1; }
.dm-orig-price { font-size:1.05em; color:#888; text-decoration:line-through; }
.dm-title { font-size:1.1em; font-weight:600; color:#15151C; margin:10px 26px 8px; line-height:1.5; }
.dm-meta { font-size:0.85em; color:#8A8E9C; margin:4px 26px 14px; }
.dm-badges { display:flex; flex-wrap:wrap; gap:7px; margin:10px 26px 18px; }
.dm-badge { display:inline-block; font-size:0.82em; font-weight:600; padding:5px 11px; border-radius:20px; }
.dm-badge-green  { background:#e8f5e9; color:#2e7d32; border:1px solid #c8e6c9; }
.dm-badge-orange { background:#fff3e0; color:#B35400; border:1px solid #ffe0b2; }
.dm-badge-blue   { background:#e3f2fd; color:#1565c0; border:1px solid #bbdefb; }
.dm-badge-gray   { background:#f5f5f5; color:#444; border:1px solid #e0e0e0; }
.dm-see-deal-btn { display:inline-block; background:var(--dm-pink); color:#fff !important; font-size:1em; font-weight:700; padding:13px 32px; border-radius:8px; text-decoration:none !important; margin:0 26px 18px; transition:background 0.15s, transform 0.15s; }
.dm-see-deal-btn:hover { background:var(--dm-pink-dark); color:#fff !important; transform: translateY(-1px); }
.dm-divider { border:none; border-top:1px solid #F0F0F0; margin:14px 26px 12px; }
.dm-disclosure { font-size:0.78em; color:#9A9EA8; line-height:1.55; margin:0 26px 18px; }
