/* ════════════════════════════════════════════════════════
   PetCare — Pet stories carousel
   ════════════════════════════════════════════════════════ */

.stories {
  padding: 100px 6%;
  background: var(--bg-3);
  transition: background .35s;
}
.stories-inner { max-width: 1100px; margin: 0 auto; }
.stories-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  flex-wrap: wrap; gap: 20px;
  margin-bottom: 48px;
}
.stories-sub { max-width: 300px; }

.stories-slides-wrap {
  display: flex; gap: 24px;
  overflow: hidden;
  transition: none;
}

/* ── STORY CARD ── */
.story-card {
  flex: 0 0 calc(33.33% - 16px);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--bg-card);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: transform .25s, box-shadow .25s, background .35s, border-color .35s;
}
.story-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }

.sc-img {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  height: 170px;
  overflow: hidden;
  font-size: 3.8rem;
}
.sc-p { background: linear-gradient(160deg,#3a2878,#1e1460); }
.sc-g { background: linear-gradient(160deg,#1a5c3a,#0e3a22); }
.sc-t { background: linear-gradient(160deg,#1a4a5a,#0e2a3a); }
.sc-txt {
  position: absolute; bottom: 11px; left: 15px;
  font-family: 'DM Serif Display', serif;
  font-size: 1.1rem; line-height: 1.2;
  color: #fff;
}
.sc-emoji {
  position: absolute; top: 18px; right: 16px;
  font-size: 3rem;
  opacity: .45;
}

.sc-body { padding: 18px 18px 20px; }
.sc-title {
  margin-bottom: 7px;
  font-size: .98rem; font-weight: 700;
  color: var(--text);
  transition: color .35s;
}
.sc-desc {
  margin-bottom: 13px;
  font-size: .84rem; line-height: 1.6;
  color: var(--text-m);
  transition: color .35s;
}
.sc-author { display: flex; align-items: center; gap: 9px; }
.sc-av {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg,var(--orange-d),var(--orange));
  color: #fff;
}
.sc-av svg { width: 18px; height: 18px; }
.sc-name {
  font-size: .8rem; font-weight: 600;
  color: var(--text-m);
  transition: color .35s;
}

/* ── ARROWS + DOTS ── */
.s-arrows { display: flex; gap: 10px; justify-content: center; margin-top: 28px; }
.s-arrow {
  display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px;
  border: 1.5px solid var(--border);
  border-radius: 50%;
  background: var(--bg-2);
  box-shadow: var(--shadow-sm);
  font-size: 1rem; color: var(--text);
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s, color .2s;
}
.s-arrow:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  transform: scale(1.08);
}
.s-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.s-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--border);
  cursor: pointer;
  transition: background .3s, transform .3s;
}
.s-dot.on { background: var(--orange); transform: scale(1.3); }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .story-card { flex: 0 0 calc(50% - 12px); }
}
@media (max-width: 640px) {
  .stories { padding: 70px 5%; }
  .story-card { flex: 0 0 82%; }
}
