.epc {
  --epc-ink: #14213d;
  --epc-muted: #667085;
  --epc-line: #e4e7ec;
  --epc-soft: #f7f9fc;
  --epc-accent: #1457d9;
  --epc-accent-dark: #0d43ad;
  --epc-green: #0f7a4d;
  --epc-radius: 12px;
  color: var(--epc-ink);
  font-family: inherit;
  margin: 2rem 0;
  max-width: 100%;
}

.epc *, .epc *::before, .epc *::after { box-sizing: border-box; }
.epc [hidden] { display: none !important; }

.epc__header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.1rem;
}

.epc__header-copy { min-width: 0; }
.epc__title { color: var(--epc-ink); font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.2; margin: 0; }
.epc__meta { align-items: center; color: var(--epc-muted); display: flex; flex-wrap: wrap; gap: .35rem .85rem; margin-top: .5rem; }
.epc__meta > * { margin: 0; }
.epc__trust,
.epc__feed-updated { color: var(--epc-muted); font-size: .78rem; line-height: 1.35; }
.epc__feed-updated { position: relative; }
.epc__feed-updated::before { color: #c2c8d0; content: "\2022"; margin-right: .85rem; }
.epc__header-actions { align-items: flex-end; display: flex; flex-wrap: nowrap; gap: .75rem; margin-left: auto; }
@media (min-width: 769px) {
  .epc__header { align-items: center; }
  .epc__header-actions { align-self: center; }
}
.epc__control-group { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.epc__control-group--sort { width: 200px; }
.epc__sort-label { color: var(--epc-muted); display: block; font-size: .76rem; font-weight: 750; line-height: 1.2; margin: 0; }
.epc__sort { width: 100%; }

.epc__select,
.epc__filter-toggle,
.epc__reset,
.epc__apply {
  border: 1px solid var(--epc-line);
  border-radius: 10px;
  font: inherit;
  min-height: 42px;
}

.epc__select { background: #fff; color: var(--epc-ink); padding: .55rem 2rem .55rem .7rem; }
.epc__filter-toggle { background: var(--epc-accent); border-color: var(--epc-accent); color: #fff; cursor: pointer; display: none; font-weight: 700; padding: .55rem 1rem; }
.epc__filter-toggle:hover, .epc__filter-toggle:focus-visible { background: var(--epc-accent-dark); }

.epc__layout { display: grid; gap: 1.1rem; grid-template-columns: minmax(180px, 220px) minmax(0, 1fr); position: relative; }
.epc__filters { align-self: start; background: #fff; border: 1px solid var(--epc-line); border-radius: var(--epc-radius); padding: .9rem; position: sticky; top: 1rem; }
.epc__filter-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: .85rem; }
.epc__filter-head strong { font-size: 1.02rem; }
.epc__mobile-controls { display: none; }
.epc__close { background: transparent; border: 0; color: var(--epc-ink); cursor: pointer; display: none; font-size: 1.7rem; line-height: 1; padding: .25rem; }
.epc__fieldset { border: 0; border-bottom: 1px solid var(--epc-line); margin: 0 0 .9rem; padding: 0 0 .8rem; }
.epc__fieldset legend, .epc__field > span { color: var(--epc-ink); display: block; font-size: .83rem; font-weight: 750; margin-bottom: .55rem; }
.epc__check { align-items: center; cursor: pointer; display: flex; font-size: .9rem; gap: .5rem; margin: .55rem 0; }
.epc__check input { accent-color: var(--epc-accent); height: 17px; margin: 0; width: 17px; }
.epc__field { border-bottom: 1px solid var(--epc-line); display: block; margin-bottom: .9rem; padding-bottom: .9rem; }
.epc__field .epc__select, .epc__field input[type="range"] { width: 100%; }
.epc__field input[type="range"] { accent-color: var(--epc-accent); cursor: pointer; }
.epc__filter-actions { display: flex; gap: .5rem; }
.epc__reset, .epc__apply { cursor: pointer; font-weight: 700; padding: .55rem .8rem; width: 100%; }
.epc__reset { background: #fff; color: var(--epc-ink); }
.epc__apply { background: var(--epc-accent); border-color: var(--epc-accent); color: #fff; display: none; }

.epc__results { min-width: 0; }
.epc__results-count { color: var(--epc-muted); font-size: .78rem; font-weight: 650; line-height: 1.35; margin: 0 0 .55rem; }
.epc__results-count--mobile { display: none; }
.epc__grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (min-width: 1200px) {
  .epc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.epc__no-results, .epc--empty { background: var(--epc-soft); border: 1px solid var(--epc-line); border-radius: var(--epc-radius); padding: 1.25rem; }
.epc--empty .epc__title { font-size: 1.35rem; }

.epc-plan {
  background: #fff;
  border: 1px solid #e8ebf0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .85rem .95rem .9rem;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.epc-plan:hover {
  border-color: #c9d4ea;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .07);
  transform: translateY(-1px);
}

.epc-plan__top {
  align-items: center;
  display: flex;
  gap: .5rem;
  justify-content: space-between;
  min-height: 26px;
}

.epc-plan__provider {
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .01em;
  padding: .28rem .55rem;
}

.epc-plan__provider--airalo { background: #5b36d6; }
.epc-plan__provider--maya { background: #165d87; }
.epc-plan__provider--saily { background: #126b53; }
.epc-plan__provider--yesim { background: #1d2939; }
.epc-plan__provider--lebara { background: #e6007e; }

.epc-plan__provider--has-logo {
  align-items: center;
  background: transparent;
  border: 0;
  min-height: 0;
  padding: 0;
}

.epc-plan__provider--has-logo img {
  display: block;
  height: 22px;
  max-width: 108px;
  object-fit: contain;
  width: auto;
}

.epc-plan__badge {
  background: #e8f7ef;
  border-radius: 999px;
  color: var(--epc-green);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .01em;
  line-height: 1;
  padding: .35rem .55rem;
  white-space: nowrap;
}

.epc-plan__title {
  color: var(--epc-ink);
  font-size: 1.02rem;
  font-weight: 750;
  letter-spacing: -.015em;
  line-height: 1.25;
  margin: .7rem 0 .15rem;
}

.epc-plan__scope {
  color: var(--epc-accent);
  font-size: .75rem;
  font-weight: 650;
  margin: 0 0 .55rem;
}

.epc-plan__facts {
  border-top: 1px solid var(--epc-line);
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
}

.epc-plan__facts li {
  align-items: center;
  border-bottom: 1px solid var(--epc-line);
  color: var(--epc-muted);
  display: grid;
  font-size: .8rem;
  gap: .45rem;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  margin: 0;
  padding: .48rem 0;
}

.epc-plan__facts li:last-child { border-bottom: 0; }

.epc-plan__fact-icon {
  color: #98a2b3;
  display: inline-flex;
  flex-shrink: 0;
  height: 16px;
  width: 16px;
}

.epc-plan__fact-icon svg { display: block; }

.epc-plan__fact-label {
  color: var(--epc-muted);
  min-width: 0;
}

.epc-plan__fact-value {
  color: var(--epc-ink);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

.epc-plan__footer {
  align-items: end;
  display: grid;
  gap: .65rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: auto;
}

.epc-plan__price { display: flex; flex-direction: column; gap: .1rem; }
.epc-plan__price del { color: var(--epc-muted); font-size: .7rem; }
.epc-plan__price strong {
  color: var(--epc-ink);
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
}

.epc-plan__actions {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.epc-plan__cta {
  align-items: center;
  background: var(--epc-accent);
  border-radius: 8px;
  color: #fff !important;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 750;
  gap: .25rem;
  justify-content: center;
  line-height: 1;
  padding: .62rem .85rem;
  text-decoration: none !important;
  white-space: nowrap;
}

.epc-plan__cta-chevron {
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
  margin-top: -.05rem;
}

.epc-plan__cta:hover,
.epc-plan__cta:focus-visible {
  background: var(--epc-accent-dark);
  color: #fff !important;
}

.epc-plan__ad {
  color: #98a2b3;
  font-size: .6rem;
  line-height: 1;
  text-align: center;
}

.epc-plan__stale { color: #9a3412; font-size: .7rem; font-weight: 700; margin: .3rem 0 0; }

/* Horizontal row layout */
.epc__results {
  container-name: epc-results;
  container-type: inline-size;
}

.epc--layout-rows .epc__grid {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.epc-plan--row {
  align-items: center;
  display: grid;
  gap: .65rem .85rem;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  overflow: hidden;
  padding: .7rem .9rem .7rem 0;
  position: relative;
}

.epc-plan--row .epc-plan__rank {
  align-items: center;
  align-self: stretch;
  border-radius: 12px 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: .3rem;
  justify-content: center;
  margin: -.7rem 0;
  min-height: 100%;
  min-width: 5.6rem;
  padding: .55rem .4rem;
  position: relative;
  text-align: center;
}

.epc-plan--row .epc-plan__rank::before {
  background: currentColor;
  border-radius: 12px 0 0 12px;
  content: "";
  inset: 0 auto 0 0;
  opacity: .95;
  position: absolute;
  width: 4px;
}

.epc-plan--row .epc-plan__rank--empty {
  min-width: .55rem;
  padding: 0;
  width: .55rem;
}

.epc-plan--row .epc-plan__rank--empty::before { display: none; }

.epc-plan--row.epc-plan--rank-best-overall .epc-plan__rank {
  background: #eaf8f0;
  color: var(--epc-green);
}

.epc-plan--row.epc-plan--rank-most-popular .epc-plan__rank {
  background: #eaf1ff;
  color: var(--epc-accent);
}

.epc-plan--row.epc-plan--rank-best-value .epc-plan__rank {
  background: #eef8f2;
  color: #0d8a57;
}

.epc-plan--row .epc-plan__rank-icon {
  display: inline-flex;
  flex-shrink: 0;
  height: 16px;
  width: 16px;
}

.epc-plan--row .epc-plan__rank-icon svg { display: block; }

.epc-plan--row .epc-plan__rank-text {
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.epc-plan--row .epc-plan__brand {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: flex-start;
}

.epc-plan--row .epc-plan__provider--has-logo img {
  height: 26px;
  max-width: 118px;
}

.epc-plan--row .epc-plan__info { min-width: 0; }
.epc-plan--row .epc-plan__title {
  font-size: .98rem;
  margin: 0 0 .12rem;
  overflow-wrap: break-word;
}
.epc-plan--row .epc-plan__scope { margin: 0; }

.epc-plan--row .epc-plan__stats {
  display: flex;
  flex: 0 0 auto;
  gap: 0;
  min-width: 0;
}

.epc-plan--row .epc-plan__stat {
  align-items: start;
  border-left: 1px solid var(--epc-line);
  display: grid;
  flex: 0 0 auto;
  gap: .12rem .4rem;
  grid-template-columns: 16px auto;
  min-width: 6.75rem;
  padding: .1rem .65rem;
}

.epc-plan--row .epc-plan__stat:first-child {
  border-left: 0;
  padding-left: 0;
}

.epc-plan--row .epc-plan__fact-icon {
  color: #98a2b3;
  flex-shrink: 0;
  grid-row: 1 / span 2;
  margin-top: .15rem;
}

.epc-plan--row .epc-plan__stat-label {
  color: var(--epc-muted);
  font-size: .68rem;
  line-height: 1.2;
  white-space: nowrap;
}

.epc-plan--row .epc-plan__stat-value {
  color: var(--epc-ink);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

.epc-plan--row .epc-plan__buy {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: .75rem;
  justify-content: flex-end;
}

.epc-plan--row .epc-plan__price {
  align-items: flex-end;
  text-align: right;
}

.epc-plan--row .epc-plan__price strong { font-size: 1.05rem; white-space: nowrap; }
.epc-plan--row .epc-plan__ad { margin-top: .2rem; text-align: right; white-space: nowrap; }
.epc-plan--row .epc-plan__cta {
  flex-shrink: 0;
  padding: .58rem .9rem;
  white-space: nowrap;
}

.epc-plan--row .epc-plan__stale {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0 .25rem 0 .55rem;
}

/* When results column is tight (sidebar + narrow viewport), restack the row */
@container epc-results (max-width: 820px) {
  .epc-plan--row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .75rem .85rem .75rem 0;
  }

  .epc-plan--row .epc-plan__brand {
    grid-column: 2;
    grid-row: 1;
  }

  .epc-plan--row .epc-plan__info {
    grid-column: 2;
    grid-row: 2;
  }

  .epc-plan--row .epc-plan__stats {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-content: stretch;
    padding: .15rem .85rem .05rem .55rem;
    width: 100%;
  }

  .epc-plan--row .epc-plan__stat {
    flex: 1 1 0;
    min-width: 0;
  }

  .epc-plan--row .epc-plan__stat-value {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .epc-plan--row .epc-plan__buy {
    align-items: flex-end;
    flex-direction: column;
    gap: .45rem;
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .epc-plan--row .epc-plan__rank {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: -.75rem 0;
  }

  .epc-plan--row .epc-plan__stale {
    grid-row: 4;
    padding-left: .85rem;
  }
}

@container epc-results (max-width: 520px) {
  .epc-plan--row {
    grid-template-columns: 1fr;
    padding: .85rem;
  }

  .epc-plan--row .epc-plan__rank {
    border-radius: 12px 12px 0 0;
    flex-direction: row;
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
    margin: -.85rem -.85rem 0;
    min-width: 0;
    padding: .55rem .75rem;
  }

  .epc-plan--row .epc-plan__rank::before {
    border-radius: 12px 0 0 0;
  }

  .epc-plan--row .epc-plan__rank--empty { display: none; }

  .epc-plan--row .epc-plan__brand,
  .epc-plan--row .epc-plan__info,
  .epc-plan--row .epc-plan__stats,
  .epc-plan--row .epc-plan__buy,
  .epc-plan--row .epc-plan__stale {
    grid-column: 1;
    grid-row: auto;
  }

  .epc-plan--row .epc-plan__stats {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
    width: auto;
  }

  .epc-plan--row .epc-plan__stat {
    border-left: 0;
    min-width: 0;
    padding: .45rem .4rem;
    background: var(--epc-soft);
    border-radius: 8px;
  }

  .epc-plan--row .epc-plan__stat:first-child { padding-left: .4rem; }

  .epc-plan--row .epc-plan__buy {
    align-items: stretch;
    flex-direction: column;
    gap: .55rem;
    width: 100%;
  }

  .epc-plan--row .epc-plan__price { align-items: flex-start; text-align: left; }
  .epc-plan--row .epc-plan__ad { text-align: left; }
  .epc-plan--row .epc-plan__cta { justify-content: center; width: 100%; }
  .epc-plan--row .epc-plan__stale { padding-left: 0; }
}

/* Fallback when container queries are unsupported */
@supports not (container-type: inline-size) {
  @media (max-width: 1100px) {
    .epc-plan--row {
      grid-template-columns: auto minmax(0, 1fr) auto;
      padding: .75rem .85rem .75rem 0;
    }
    .epc-plan--row .epc-plan__brand { grid-column: 2; grid-row: 1; }
    .epc-plan--row .epc-plan__info { grid-column: 2; grid-row: 2; }
    .epc-plan--row .epc-plan__stats {
      grid-column: 1 / -1;
      justify-content: stretch;
      padding: .15rem .85rem .05rem .55rem;
      width: 100%;
    }
    .epc-plan--row .epc-plan__stat { flex: 1 1 0; min-width: 0; }
    .epc-plan--row .epc-plan__stat-value { overflow: hidden; text-overflow: ellipsis; }
    .epc-plan--row .epc-plan__buy {
      align-items: flex-end;
      flex-direction: column;
      gap: .45rem;
      grid-column: 3;
      grid-row: 1 / span 2;
    }
    .epc-plan--row .epc-plan__rank { grid-column: 1; grid-row: 1 / span 2; margin: -.75rem 0; }
    .epc-plan--row .epc-plan__stale { padding-left: .85rem; }
  }

  @media (max-width: 640px) {
    .epc-plan--row { grid-template-columns: 1fr; padding: .85rem; }
    .epc-plan--row .epc-plan__rank {
      border-radius: 12px 12px 0 0;
      flex-direction: row;
      grid-column: 1;
      grid-row: auto;
      justify-content: flex-start;
      margin: -.85rem -.85rem 0;
      min-width: 0;
      padding: .55rem .75rem;
    }
    .epc-plan--row .epc-plan__rank::before { border-radius: 12px 0 0 0; }
    .epc-plan--row .epc-plan__rank--empty { display: none; }
    .epc-plan--row .epc-plan__brand,
    .epc-plan--row .epc-plan__info,
    .epc-plan--row .epc-plan__stats,
    .epc-plan--row .epc-plan__buy,
    .epc-plan--row .epc-plan__stale {
      grid-column: 1;
      grid-row: auto;
    }
    .epc-plan--row .epc-plan__stats {
      display: grid;
      gap: .45rem;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      padding: 0;
      width: auto;
    }
    .epc-plan--row .epc-plan__stat {
      background: var(--epc-soft);
      border-left: 0;
      border-radius: 8px;
      min-width: 0;
      padding: .45rem .4rem;
    }
    .epc-plan--row .epc-plan__stat:first-child { padding-left: .4rem; }
    .epc-plan--row .epc-plan__buy {
      align-items: stretch;
      flex-direction: column;
      gap: .55rem;
      width: 100%;
    }
    .epc-plan--row .epc-plan__price { align-items: flex-start; text-align: left; }
    .epc-plan--row .epc-plan__ad { text-align: left; }
    .epc-plan--row .epc-plan__cta { justify-content: center; width: 100%; }
    .epc-plan--row .epc-plan__stale { padding-left: 0; }
  }
}

.epc__overlay { display: none; }

.epc-browser { color: inherit; font-family: inherit; max-width: 100%; }
.epc-browser__control { display: flex; flex-direction: column; gap: .35rem; min-width: 0; position: relative; width: 250px; }
.epc-browser__label { color: var(--epc-muted); display: block; font-size: .76rem; font-weight: 750; line-height: 1.2; margin: 0; }
.epc-browser__select { background: #fff; border: 1px solid #d0d5dd; border-radius: 10px; color: inherit; font: inherit; min-height: 42px; min-width: 0; padding: .55rem 2.2rem .55rem .7rem; width: 100%; }
.epc-browser--global-landing .epc-browser__select { border-color: #aabce3; }
.epc-browser__status { color: #667085; font-size: .76rem; left: 0; line-height: 1.2; position: absolute; top: calc(100% + .25rem); white-space: nowrap; }
.epc-browser:not(.epc-browser--integrated) > .epc-browser__control { margin-bottom: 1rem; }
.epc-browser__results > .epc { margin-top: 1rem; }
.epc-browser--integrated .epc-browser__results > .epc { margin-top: 0; }

@media (max-width: 980px) {
  .epc__grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .epc { margin: 1.4rem 0; }
  .epc__header { align-items: stretch; flex-direction: column; }
  .epc__meta { align-items: flex-start; }
  .epc__feed-updated::before { content: none; margin-right: 0; }
  .epc__header-actions { display: block; margin-left: 0; width: 100%; }
  .epc__header-actions .epc-browser__control,
  .epc__header-actions .epc__control-group--sort { display: none; }
  .epc__mobile-controls {
    background: var(--epc-soft);
    border: 1px solid var(--epc-line);
    border-radius: 12px;
    display: grid;
    gap: .8rem;
    margin: 0 0 1rem;
    padding: .85rem;
  }
  .epc__mobile-controls .epc-browser__control,
  .epc__mobile-controls .epc__control-group { display: flex; min-width: 0; width: 100%; }
  .epc__mobile-controls .epc-browser__select,
  .epc__mobile-controls .epc__sort { width: 100%; }
  .epc-plan:not(.epc-plan--row) { overflow: hidden; }
  .epc-plan:not(.epc-plan--row) .epc-plan__top { align-items: flex-start; flex-wrap: wrap; gap: .65rem; }
  .epc-plan:not(.epc-plan--row) .epc-plan__badge {
    border-radius: 12px 12px 0 0;
    margin: -.85rem -.95rem 0;
    order: -1;
    padding: .55rem .95rem;
    width: calc(100% + 1.9rem);
  }
  .epc-plan:not(.epc-plan--row) .epc-plan__footer {
    grid-template-columns: 1fr;
  }
  .epc-plan:not(.epc-plan--row) .epc-plan__actions {
    align-items: stretch;
  }
  .epc-plan:not(.epc-plan--row) .epc-plan__cta {
    order: 1;
    width: 100%;
  }
  .epc-plan:not(.epc-plan--row) .epc-plan__ad {
    display: block;
    margin-top: .3rem;
    order: 2;
    text-align: center;
  }
  .epc-browser__status { max-width: 100%; white-space: normal; }
  .epc__filter-toggle { display: inline-flex; justify-content: center; width: 100%; }
  .epc__layout { display: block; }
  .epc__results-count { margin-top: .15rem; }
  .epc__results-count--mobile {
    background: var(--epc-soft);
    border: 1px solid var(--epc-line);
    border-radius: 10px;
    display: block;
    margin: 0 0 .9rem;
    padding: .7rem .85rem;
  }
  .epc__filters {
    border-radius: 18px 18px 0 0;
    bottom: 0;
    box-shadow: 0 -12px 40px rgba(16, 24, 40, .2);
    left: 0;
    max-height: min(86vh, 720px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    top: auto;
    transform: translateY(110%);
    transition: transform .24s ease;
    z-index: 999999;
  }
  .epc--filters-open .epc__filters { transform: translateY(0); }
  .epc__close, .epc__apply { display: block; }
  .epc__overlay { background: rgba(10, 18, 35, .52); bottom: 0; display: block; left: 0; position: fixed; right: 0; top: 0; z-index: 999998; }
  .epc__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .epc__select { max-width: 100%; min-width: 0; }
  .epc-plan__footer { grid-template-columns: 1fr; }
  .epc-plan__actions { align-items: stretch; }
  .epc-plan__cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .epc-plan, .epc__filters { transition: none; }
}
