.pd-specials {
  /* Section pad-top @ 1920: 77px → 4.01vw */
  --pd-specials-pad-y: clamp(2.5rem, 4.01vw, 77px);
  /* Title @ 1920: 48px / 60px */
  --pd-specials-title-size: clamp(1.5rem, 2.5vw, 48px);
  --pd-specials-title-lh: 1.25; /* 60/48 */
  /* Title margin-bottom @ 1920: 45px → 2.344vw */
  --pd-specials-title-mb: clamp(1.5rem, 2.344vw, 45px);
  /* Card title @ 1920: 24px / 36px */
  --pd-special-card-title-size: clamp(1rem, 1.25vw, 24px);
  --pd-special-card-title-lh: 1.5; /* 36/24 */
  /* Card meta + text @ 1920: 18px / 36px */
  --pd-special-card-text-size: clamp(0.875rem, 0.9375vw, 18px);
  --pd-special-card-text-lh: 2; /* 36/18 */
  /* Card gap @ 1920: 60px → 3.125vw */
  --pd-specials-gap: clamp(1.5rem, 3.125vw, 60px);
  background-color: var(--color-black);
  padding: var(--pd-specials-pad-y) 0;
}

.pd-specials .container {
  width: 100%;
  max-width: var(--container-outer);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.pd-specials .container-inner {
  width: 100%;
  max-width: var(--container-inner);
  margin-inline: auto;
}

.pd-specials__title {
  text-align: center;
  font-family: var(--font-primary);
  font-weight: var(--fw-extrabold);
  font-style: normal;
  font-size: var(--pd-specials-title-size);
  line-height: var(--pd-specials-title-lh);
  letter-spacing: 0;
  color: var(--color-white);
  text-transform: uppercase;
  opacity: 1;
  margin: 0 0 var(--pd-specials-title-mb);
}

.pd-specials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pd-specials-gap);
  max-width: 1430px;
  margin-inline: auto;
}

.pd-special-card {
  border: 1px solid rgba(255, 255, 255, 0.4);
  display: flex;
  flex-direction: column;
}

.pd-special-card__media {
  overflow: hidden;
  aspect-ratio: 962 / 496;
}

.pd-special-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.pd-special-card__body {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  flex: 1;
}

.pd-special-card__title {
  text-align: left;
  font-family: var(--font-primary);
  font-weight: var(--fw-extrabold);
  font-style: normal;
  font-size: var(--pd-special-card-title-size);
  line-height: var(--pd-special-card-title-lh);
  letter-spacing: 0;
  color: var(--color-red);
  text-transform: uppercase;
  opacity: 1;
  margin: 0 0 0.5rem;
}

.pd-special-card__meta,
.pd-special-card__text {
  text-align: left;
  font-family: var(--font-primary);
  font-weight: var(--fw-bold);
  font-style: normal;
  font-size: var(--pd-special-card-text-size);
  line-height: var(--pd-special-card-text-lh);
  letter-spacing: 0;
  color: var(--color-white);
  opacity: 1;
}

.pd-special-card__meta {
  margin: 0 0 0.75rem;
}

.pd-special-card__text {
  margin: 0;
}

/* ≈1024 tablet: smaller type + cards so 3-up still fits */
@media (max-width: 1199px) and (min-width: 992px) {
  .pd-specials {
    --pd-specials-pad-y: 2.75rem;
    --pd-specials-title-size: 1.625rem; /* 26px */
    --pd-specials-title-mb: 1.5rem;
    --pd-special-card-title-size: 1rem; /* 16px */
    --pd-special-card-title-lh: 1.35;
    --pd-special-card-text-size: 0.875rem; /* 14px */
    --pd-special-card-text-lh: 1.55;
    --pd-specials-gap: 1.25rem;
  }

  .pd-specials__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 920px;
  }

  .pd-special-card__media {
    aspect-ratio: 16 / 9;
  }

  .pd-special-card__body {
    padding: 1rem 0.9rem 1.15rem;
  }
}

/* Narrow tablet: stack with restrained image width */
@media (max-width: 991px) and (min-width: 768px) {
  .pd-specials {
    --pd-specials-pad-y: 2.75rem;
    --pd-specials-title-size: 1.5rem;
    --pd-specials-title-mb: 1.5rem;
    --pd-special-card-title-size: 1.0625rem;
    --pd-special-card-text-size: 0.9375rem;
    --pd-special-card-text-lh: 1.55;
    --pd-specials-gap: 1.25rem;
  }

  .pd-specials__grid {
    grid-template-columns: 1fr;
    max-width: 480px;
  }

  .pd-special-card__media {
    aspect-ratio: 16 / 9;
  }

  .pd-special-card__body {
    padding: 1.1rem 1rem 1.25rem;
  }
}

@media (max-width: 767px) {
  .pd-specials {
    --pd-specials-pad-y: 2.5rem;
    --pd-specials-title-size: 1.5rem;
    --pd-specials-title-mb: 1.5rem;
    --pd-special-card-title-size: 1.0625rem;
    --pd-special-card-text-size: 0.9375rem;
    --pd-special-card-text-lh: 1.6;
    --pd-specials-gap: 1.25rem;
  }

  .pd-specials__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

/* Light theme — Catering "for Every Occasion" (custom class: pd-specials--light) */
.pd-specials.pd-specials--light {
  background-color: var(--color-cream);
}

.pd-specials.pd-specials--light .pd-specials__title {
  color: var(--color-dark);
}

.pd-specials.pd-specials--light .pd-special-card {
  border: none;
  background-color: var(--color-white);
}

.pd-specials.pd-specials--light .pd-special-card__meta,
.pd-specials.pd-specials--light .pd-special-card__text {
  color: var(--color-dark);
}
