/* ===================== PROMO ===================== */
/* 4 advantage promo cards: 3D icon + subtitle + title */

.promo__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.promo__card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-16);
  /* Figma card: 305 x 229 -> keep proportions so icons scale with the box */
  aspect-ratio: 305 / 229;
  min-width: 0;
}

.promo__card--dark   { background: var(--bg-primary); }
.promo__card--accent { background: var(--bg-accent); }

/* ---- text block ---- */
.promo__text {
  position: absolute;
  left: clamp(14px, 1.53vw, 22px);
  top: clamp(14px, 1.53vw, 22px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 78%;
  word-break: break-word;
}

.promo__subtitle {
  margin: 0;
  font-family: 'Geologica', sans-serif;
  font-weight: 400;
  font-size: clamp(13px, 1.11vw, 16px);
  line-height: 1.25;
  letter-spacing: 0.005em;
  color: rgba(255, 255, 255, 0.85);
}

.promo__title {
  margin: 0;
  font-family: 'Geologica', sans-serif;
  font-weight: 600;
  font-size: clamp(16px, 1.39vw, 20px);
  line-height: 1.1;
  letter-spacing: -0.18px;
  color: #fff;
}

/* ---- 3D icons (positioned to bleed out of the card, % of card box) ---- */
.promo__icon {
  position: absolute;
  z-index: 1;
  max-width: none;
  pointer-events: none;
  user-select: none;
}

/* "1" sculpture */
.promo__icon--1 {
  width: 85%;
  right: -41.3%;
  bottom: -40%;
  transform: rotate(-13.2deg);
}

/* delivery truck */
.promo__icon--2 {
  width: 115.3%;
  right: -36.4%;
  bottom: -40%;
  transform: rotate(0.76deg);
}

/* black package with arrows */
.promo__icon--3 {
  width: 97.8%;
  right: -31.6%;
  bottom: -30.3%;
}

/* percent sign */
.promo__icon--4 {
  width: 106.7%;
  height: 159.7%;
  right: -33.9%;
  bottom: -59.7%;
}

/* ===================== RESPONSIVE ===================== */

/* tablet: 2 x 2 */
@media (max-width: 768px) {
  .promo__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

/* phone: single column, a touch taller so text + icon breathe */
@media (max-width: 480px) {
  .promo__grid {
    grid-template-columns: 1fr;
  }
  .promo__card {
    aspect-ratio: 343 / 180;
  }
  .promo__text {
    max-width: 70%;
  }
}
