/* ==========================================================
   ebmnt1 — Service Packages (3 cards, featured one with angled ribbon)
   ========================================================== */
:root {
  --ebmnt1-packages-background-color: var(--ebmnt1-color-helper-surface);
  --ebmnt1-packages-columns: 1;
  --ebmnt1-packages-gap: 1.5rem;
  --ebmnt1-package-background-color: var(--ebmnt1-color-helper-white);
  --ebmnt1-package-border-color: var(--ebmnt1-color-helper-border);
  --ebmnt1-package-shadow-color: var(--ebmnt1-color-helper-shadow-medium);
  --ebmnt1-package-featured-border-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-featured-shadow-color: var(--ebmnt1-color-helper-shadow-strong);
  --ebmnt1-package-ribbon-background-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-ribbon-text-color: var(--ebmnt1-color-helper-white);
  --ebmnt1-package-ribbon-font-size: clamp(0.8rem, 0.75rem + 0.2vw, 0.9rem);
  --ebmnt1-package-icon-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-icon-border-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-icon-font-size: clamp(1.4rem, 1.3rem + 0.5vw, 1.8rem);
  --ebmnt1-package-name-color: var(--ebmnt1-color-secondary);
  --ebmnt1-package-name-font-size: clamp(1.25rem, 1.15rem + 0.6vw, 1.6rem);
  --ebmnt1-package-price-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-price-font-size: clamp(2rem, 1.7rem + 1.4vw, 3rem);
  --ebmnt1-package-price-note-color: var(--ebmnt1-color-helper-muted);
  --ebmnt1-package-price-note-font-size: clamp(0.85rem, 0.8rem + 0.2vw, 0.95rem);
  --ebmnt1-package-divider-color: var(--ebmnt1-color-helper-soft);
  --ebmnt1-package-feature-color: var(--ebmnt1-color-secondary-soft);
  --ebmnt1-package-feature-icon-color: var(--ebmnt1-color-primary);
  --ebmnt1-package-feature-font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
}

.ebmnt1-packages {
  background-color: var(--ebmnt1-packages-background-color);
}

.ebmnt1-packages__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: var(--ebmnt1-packages-gap);
}

.ebmnt1-package {
  position: relative;
  flex: 0 0 calc((100% - (var(--ebmnt1-packages-columns) - 1) * var(--ebmnt1-packages-gap)) / var(--ebmnt1-packages-columns));
  max-width: var(--ebmnt1-card-max-width);
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding: 2.5rem 1.5rem 1.75rem;
  background-color: var(--ebmnt1-package-background-color);
  border: 1px solid var(--ebmnt1-package-border-color);
  box-shadow: 0 0.3rem 1.5rem var(--ebmnt1-package-shadow-color);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.ebmnt1-package:hover {
  transform: translateY(-0.6rem);
  box-shadow: 0 1rem 2.5rem var(--ebmnt1-package-featured-shadow-color);
}

.ebmnt1-package--featured {
  border-color: var(--ebmnt1-package-featured-border-color);
  box-shadow: 0 0.8rem 2.5rem var(--ebmnt1-package-featured-shadow-color);
}

.ebmnt1-package__ribbon {
  position: absolute;
  top: 1rem;
  inset-inline-start: 0;
  padding: 0.3rem 1.4rem 0.3rem 1.8rem;
  font-size: var(--ebmnt1-package-ribbon-font-size);
  font-weight: 600;
  color: var(--ebmnt1-package-ribbon-text-color);
  background-color: var(--ebmnt1-package-ribbon-background-color);
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
}

.ebmnt1-package__icon {
  width: 4.25rem;
  height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--ebmnt1-package-icon-font-size);
  color: var(--ebmnt1-package-icon-color);
  border: 1px solid var(--ebmnt1-package-icon-border-color);
  border-radius: 50%;
  transition: transform 0.6s ease;
}

.ebmnt1-package:hover .ebmnt1-package__icon {
  transform: rotateY(360deg);
}

.ebmnt1-package__name {
  font-size: var(--ebmnt1-package-name-font-size);
  font-weight: 700;
  color: var(--ebmnt1-package-name-color);
}

.ebmnt1-package__price {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}

.ebmnt1-package__price-value {
  font-size: var(--ebmnt1-package-price-font-size);
  font-weight: 700;
  color: var(--ebmnt1-package-price-color);
}

.ebmnt1-package__price-note {
  font-size: var(--ebmnt1-package-price-note-font-size);
  color: var(--ebmnt1-package-price-note-color);
}

.ebmnt1-package__features {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ebmnt1-package-divider-color);
}

.ebmnt1-package__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: var(--ebmnt1-package-feature-font-size);
  text-align: start;
  color: var(--ebmnt1-package-feature-color);
}

.ebmnt1-package__feature-icon {
  padding-top: 0.4em;
  color: var(--ebmnt1-package-feature-icon-color);
}

.ebmnt1-package__action {
  margin-top: auto;
  width: 100%;
}

@media (min-width: 768px) {
  :root { --ebmnt1-packages-columns: 3; --ebmnt1-packages-gap: 1.25rem; }
  .ebmnt1-package { padding-inline: 1.25rem; }
}

@media (min-width: 1024px) {
  :root { --ebmnt1-packages-gap: 2rem; }
  .ebmnt1-package { padding-inline: 1.75rem; }
  .ebmnt1-package--featured { transform: translateY(-1rem); }
  .ebmnt1-package--featured:hover { transform: translateY(-1.6rem); }
}
