.radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.checkIcon {
  --size: 32px;
  width: var(--size);
  height: var(--size);

  position: absolute;
  top: -10px;
  right: -10px;

  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--Border-Inverted);
  border-radius: var(--Corner-radius-rounded);
  background-color: var(--Surface-Feedback-Succes-Accent);
  color: var(--Icon-Inverted);
}

.rateCard {
  position: relative;
  background-color: var(--Scandic-Grey-00);
  border: 1px solid transparent;
  border-radius: var(--Corner-radius-md);
}

.rateCard:hover {
  cursor: pointer;
  background-color: var(--Scandic-Grey-10);
}

.radio:checked ~ .rateCard {
  border: 1px solid var(--Scandic-Peach-80, 'black');
}

.radio:focus-visible ~ .rateCard {
  outline: 2px solid var(--Border-Interactive-Focus);
}

label:not(:has(.radio:checked)) .checkIcon {
  display: none;
}

.banner {
  background-color: var(--Surface-Brand-Primary-1-OnSurface-Accent);
  border-top-left-radius: var(--Corner-radius-md);
  border-top-right-radius: var(--Corner-radius-md);
  text-align: center;
  color: var(--Text-Inverted);
  padding: var(--Space-x05) 0;
  text-transform: none;
}

.container {
  display: flex;
  flex-direction: column;
  gap: var(--Space-x1);

  padding: var(--Space-x1) var(--Space-x15) var(--Space-x15);
}

.container > * {
  padding-bottom: var(--Space-x1);
  border-bottom: 2px solid var(--Neutral-Opacity-Black-5);
}

.container > :last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.title {
  display: flex;
  align-items: center;
  gap: var(--Space-x05);
}

.rateRow {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--Space-x1);
}

.highlightedRate {
  color: var(--Surface-Brand-Primary-1-OnSurface-Accent);
}

.textSecondary {
  color: var(--Text-Secondary);
}

.textDisabled {
  color: var(--Text-Interactive-Disabled);
}

.comparisonRate {
  color: var(--Text-Secondary);
  display: flex;
  justify-content: flex-end;
}

.comparisonRate > p {
  font-weight: var(--Font-weight-Regular);
}

.strikethrough {
  text-decoration: line-through;
}

.approximateRate {
  color: var(--Text-Secondary);
  padding-top: var(--Space-x05);
}

.variant-regular {
  background-color: var(--Scandic-Grey-00);
}

.pointsRow {
  display: flex;
  align-items: center;
  gap: var(--Space-x05);
}

.notEnoughPoints {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: var(--Space-x05);
}

.terms {
  display: flex;
  flex-direction: column;
  gap: var(--Space-x1);
}

.term {
  display: flex;
  align-items: center;
  gap: var(--Space-x1);
}

.variant-campaign .banner {
  background-color: var(--Surface-Accent-3);
}

.variant-code .banner {
  background-color: var(--Surface-Feedback-Information-Accent);
}

.variant-points .banner {
  background-color: var(--Surface-Brand-Primary-1-OnSurface-Accent-Secondary);
}

.footer {
  display: flex;
  justify-content: space-between;
}

.filledIcon {
  display: flex;
  align-items: center;
  color: var(--Scandic-Blue-70);
}

.noPricesAvailableContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--Space-x2) 0;
}

.noPricesAvailableText {
  padding: var(--Space-x15) var(--Space-x3);
  border-radius: var(--Corner-radius-rounded);
  background-color: var(--Scandic-Beige-10);
}
