.ec-category-premium {
  --ecc-petrol: #07556a;
  --ecc-ink: #173844;
  --ecc-coral: #c65332;
  --ecc-muted: #60747b;
  --ecc-sand: #f7f3eb;
  --ecc-border: #e2ddd4;
  margin: 0 auto;
  max-width: 1320px;
  padding: clamp(60px, 7vw, 105px) 24px 100px;
}

.ec-category-premium, .ec-category-premium * { box-sizing: border-box; }

.ec-category-premium__header {
  margin: 0 auto clamp(42px, 5vw, 68px);
  max-width: 850px;
  text-align: center;
}

.ec-category-premium__header > p {
  color: var(--ecc-coral);
  font-family: cursive;
  font-size: 21px;
  line-height: 1.25;
  margin: 0 0 10px;
}

.ec-category-premium__header h1 {
  color: var(--ecc-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(42px, 5vw, 66px) !important;
  font-weight: 700 !important;
  letter-spacing: -.04em !important;
  line-height: 1.04 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.ec-category-premium__header > div {
  color: var(--ecc-muted);
  font-size: 18px;
  line-height: 1.65;
  margin: 20px auto 0;
  max-width: 700px;
}

.ec-category-premium__header > div p { margin: 0; }

.ec-category-premium__grid {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ec-category-card {
  background: #fff;
  border: 1px solid var(--ecc-border);
  border-radius: 13px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: box-shadow .25s ease, transform .25s ease;
}

.ec-category-card:hover {
  box-shadow: 0 20px 45px rgba(23, 56, 68, .12);
  transform: translateY(-4px);
}

.ec-category-card__image {
  background: var(--ecc-sand);
  display: block;
  min-height: 245px;
  overflow: hidden;
}

.ec-category-card__image img {
  display: block;
  height: 100%;
  min-height: 245px;
  object-fit: cover;
  transition: transform .45s ease;
  width: 100%;
}

.ec-category-card:hover .ec-category-card__image img { transform: scale(1.035); }

.ec-category-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 29px 30px;
}

.ec-category-card__meta {
  color: var(--ecc-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 7px 17px;
  margin-bottom: 13px;
}

.ec-category-card__meta span + span::before {
  color: var(--ecc-coral);
  content: "•";
  margin-right: 17px;
}

.ec-category-card h2 {
  color: var(--ecc-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(25px, 2.2vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
  margin: 0 0 15px !important;
  text-transform: none !important;
}

.ec-category-card h2 a { color: inherit !important; text-decoration: none !important; }

.ec-category-card__content > p {
  color: var(--ecc-muted);
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 22px;
}

.ec-category-card__link {
  align-items: center;
  color: var(--ecc-petrol) !important;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 9px;
  margin-top: auto;
  text-decoration: none !important;
}

.ec-category-card__link span { font-size: 18px; transition: transform .2s ease; }
.ec-category-card__link:hover span { transform: translateX(4px); }

.ec-category-card--featured {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .85fr);
}

.ec-category-card--featured .ec-category-card__image,
.ec-category-card--featured .ec-category-card__image img { min-height: 440px; }
.ec-category-card--featured .ec-category-card__content { justify-content: center; padding: clamp(35px, 5vw, 65px); }
.ec-category-card--featured h2 { font-size: clamp(34px, 3.4vw, 48px) !important; }
.ec-category-card--featured .ec-category-card__content > p { font-size: 17px; }

.ec-category-premium--stories .ec-category-card--story-lead {
  grid-column: span 2;
}
.ec-category-premium--stories .ec-category-card--story-lead .ec-category-card__image,
.ec-category-premium--stories .ec-category-card--story-lead .ec-category-card__image img { min-height: 360px; }
.ec-category-premium--stories .ec-category-card--story-lead h2 { font-size: clamp(30px, 3vw, 42px) !important; }

.ec-category-premium__empty {
  background: var(--ecc-sand);
  border-radius: 10px;
  color: var(--ecc-muted);
  font-size: 17px;
  padding: 35px;
  text-align: center;
}

.ec-category-premium__pagination { margin-top: 55px; }
.ec-category-premium__pagination .pagination { gap: 7px; justify-content: center; }
.ec-category-premium__pagination .page-link { border-radius: 6px !important; color: var(--ecc-petrol); }
.ec-category-premium__pagination .active .page-link { background: var(--ecc-petrol); border-color: var(--ecc-petrol); color: #fff; }

@media (max-width: 991.98px) {
  .ec-category-premium__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ec-category-card--featured { grid-template-columns: 1fr 1fr; }
  .ec-category-premium--stories .ec-category-card--story-lead { grid-column: span 2; }
}

@media (max-width: 767.98px) {
  .ec-category-premium { padding: 50px 15px 70px; }
  .ec-category-premium__header { margin-bottom: 36px; text-align: left; }
  .ec-category-premium__header h1 { font-size: clamp(39px, 11vw, 54px) !important; }
  .ec-category-premium__grid { display: block; }
  .ec-category-card, .ec-category-card--featured, .ec-category-card--story-lead { display: flex; margin-bottom: 22px; }
  .ec-category-card__image, .ec-category-card__image img,
  .ec-category-card--featured .ec-category-card__image,
  .ec-category-card--featured .ec-category-card__image img,
  .ec-category-premium--stories .ec-category-card--story-lead .ec-category-card__image,
  .ec-category-premium--stories .ec-category-card--story-lead .ec-category-card__image img { min-height: 255px; }
  .ec-category-card__content { padding: 25px 23px 27px; }
}

@media (prefers-reduced-motion: reduce) {
  .ec-category-card, .ec-category-card__image img, .ec-category-card__link span { transition: none; }
  .ec-category-card:hover { transform: none; }
}
