@font-face {
  font-family: "Belanosima";
  src: url("/fonts/belanosima/Belanosima-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Inherit the shop scale for the PlaySIM shell, content and illustrations. */
.sim-view {
  --shop-accent: #8b4d9d;
  --shop-burgundy: #60037a;
  --shop-panel: #f6f4f7;
  --shop-line: #b787c4;
  --shop-muted: #444148;
  --shop-ink: #2b282f;
  --color-primary: #60037a;
  --color-outline-variant: #60037a;
}
.sim-view .shop-progress a:not([href]) { cursor: default; }
.sim-view .shop-progress-marker .sim-type-marker { width: 100%; height: 100%; }
.sim-view .shop-product-button { background: var(--shop-burgundy); border-color: var(--shop-burgundy); }
.sim-view .shop-product-button:hover { background: #460259; border-color: #460259; }
.sim-tariff--s { --product-accent: var(--sim-tariff-color); --sim-tariff-color: #036c7a; }
.sim-tariff--m { --product-accent: var(--sim-tariff-color); --sim-tariff-color: #bc8307; }
.sim-tariff--l { --product-accent: var(--sim-tariff-color); --sim-tariff-color: #d90d9c; }
.sim-tariff-art { container-type: inline-size; position: relative; width: calc(186 * var(--shop-unit)); height: calc(184 * var(--shop-unit)); align-self: center; margin-left: calc(14 * var(--shop-unit)); }
.sim-tariff-art img { display: block; width: 100%; height: 100%; max-width: none; }
/* The original Figma SVG and its separate text layers (1239:91/104/110). */
.sim-tariff-art span { position: absolute; top: 48.37%; left: 40.86%; width: 18.28%; font-family: "Belanosima", sans-serif; font-size: 34.41cqw; font-weight: 400; line-height: normal; color: var(--sim-tariff-color); }
.sim-tariff-art.sim-tariff--m span { left: 36.56%; width: 26.88%; }
.sim-tariff-art.sim-tariff--l span { width: 18.82%; }
.sim-type-option .sim-select { width: calc(153 * var(--shop-unit)); min-width: 0; max-width: 100%; min-height: calc(37 * var(--shop-unit)); padding: calc(3 * var(--shop-unit)) calc(12 * var(--shop-unit)) calc(4 * var(--shop-unit)); border-radius: calc(20 * var(--shop-unit)); font-size: calc(20 * var(--shop-unit)); line-height: calc(30 * var(--shop-unit)); }
.sim-type-panel { min-height: calc(511 * var(--shop-unit)); padding: calc(40 * var(--shop-unit)) calc(48 * var(--shop-unit)) calc(44 * var(--shop-unit)); background: var(--shop-panel); border-radius: calc(20 * var(--shop-unit)); }
.sim-type-panel h1 { margin: 0; text-align: center; font-size: calc(36 * var(--shop-unit)); font-weight: 800; line-height: calc(54 * var(--shop-unit)); color: var(--shop-muted); }
.sim-type-options { display: grid; grid-template-columns: calc(210 * var(--shop-unit)) 1fr calc(210 * var(--shop-unit)); align-items: center; width: min(100%, calc(671 * var(--shop-unit))); margin: calc(77 * var(--shop-unit)) auto 0; }
.sim-type-option { min-height: calc(296 * var(--shop-unit)); margin: 0; padding: calc(16 * var(--shop-unit)) calc(20 * var(--shop-unit)) calc(20 * var(--shop-unit)); border: calc(2 * var(--shop-unit)) solid var(--shop-line); border-radius: calc(10 * var(--shop-unit)); display: flex; flex-direction: column; align-items: center; }
.sim-type-option:last-child { border-width: calc(3 * var(--shop-unit)); }
.sim-type-icon { height: calc(102 * var(--shop-unit)); display: grid; place-items: center; }
.sim-type-icon img { max-width: none; }
.sim-esim-icon { width: calc(124.75 * var(--shop-unit)); height: auto; }
.sim-physical-icon { width: calc(93 * var(--shop-unit)); height: auto; }
.sim-type-option h2 { margin: 0; white-space: nowrap; font-size: calc(40 * var(--shop-unit)); font-style: italic; line-height: calc(52 * var(--shop-unit)); font-weight: 600; color: var(--shop-muted); }
.sim-type-option .sim-select { margin-top: auto; }
.sim-type-or { text-align: center; color: var(--shop-burgundy); font-size: calc(40 * var(--shop-unit)); font-weight: 600; }
.sim-summary-panel { max-width: calc(968 * var(--shop-unit)); min-height: calc(511 * var(--shop-unit)); display: grid; grid-template-columns: calc(502 * var(--shop-unit)) minmax(0, 1fr); background: var(--shop-panel); border-radius: calc(20 * var(--shop-unit)); overflow: hidden; }
.sim-order-preview { display: grid; place-items: center; }
.sim-order-art { display: flex; align-items: center; gap: calc(24 * var(--shop-unit)); }
.sim-phone-art { position: relative; width: calc(186 * var(--shop-unit)); height: calc(184 * var(--shop-unit)); }
.sim-phone-art > img { display: block; max-width: none; }
.sim-phone-art > img:not(.sim-phone-chip) { width: 100%; height: 100%; }
.sim-phone-chip { width: calc(32 * var(--shop-unit)); height: calc(50 * var(--shop-unit)); }
.sim-phone-art .sim-phone-chip { position: absolute; top: calc(45 * var(--shop-unit)); left: calc(116 * var(--shop-unit)); }
.sim-phone-art span { position: absolute; top: calc(47 * var(--shop-unit)); left: calc(45 * var(--shop-unit)); font-family: "Belanosima", "Boston", sans-serif; font-size: calc(80 * var(--shop-unit)); line-height: 1.1; color: var(--sim-tariff-color); }
.sim-order-type { width: calc(128 * var(--shop-unit)); display: grid; place-items: center; }
.sim-order-art img { flex: none; max-width: none; }
.sim-order-plus { width: calc(34 * var(--shop-unit)); height: calc(34 * var(--shop-unit)); }
.sim-order-type .sim-esim-icon { width: calc(126.75 * var(--shop-unit)); }
.sim-summary { display: flex; flex-direction: column; min-width: 0; border-left: calc(3 * var(--shop-unit)) solid #fff; }
.sim-summary h1 { margin: 0; padding: calc(16 * var(--shop-unit)) calc(24 * var(--shop-unit)); text-align: center; font-size: calc(36 * var(--shop-unit)); line-height: calc(54 * var(--shop-unit)); font-weight: 800; color: var(--shop-muted); }
.sim-price-lines { display: grid; gap: calc(16 * var(--shop-unit)); padding: calc(28 * var(--shop-unit)) calc(32 * var(--shop-unit)) calc(16 * var(--shop-unit)); margin: 0; }
.sim-price-lines > div, .sim-price-total { display: flex; justify-content: space-between; align-items: baseline; gap: calc(16 * var(--shop-unit)); }
.sim-price-lines dt, .sim-price-lines dd { margin: 0; font-size: calc(20 * var(--shop-unit)); line-height: calc(26 * var(--shop-unit)); }
.sim-price-total { margin: 0 calc(32 * var(--shop-unit)); padding-top: calc(40 * var(--shop-unit)); border-top: calc(2 * var(--shop-unit)) solid #fff; font-size: calc(24 * var(--shop-unit)); font-weight: 800; line-height: calc(31 * var(--shop-unit)); }
.sim-price-total dt, .sim-price-total dd { margin: 0; }
.sim-summary-footer { display: flex; gap: calc(24 * var(--shop-unit)); align-items: flex-end; padding: calc(24 * var(--shop-unit)) calc(29 * var(--shop-unit)) calc(24 * var(--shop-unit)) calc(32 * var(--shop-unit)); margin-top: auto; }
.sim-summary-footer p { margin: 0; font-size: calc(18 * var(--shop-unit)); line-height: calc(24 * var(--shop-unit)); font-style: italic; }
.sim-summary-footer form { margin: 0; }
.sim-summary-footer .shop-product-button, .sim-success-footer .shop-product-button { min-width: calc(165 * var(--shop-unit)); min-height: calc(48 * var(--shop-unit)); padding: calc(6 * var(--shop-unit)) calc(20 * var(--shop-unit)); font-size: calc(24 * var(--shop-unit)); line-height: calc(36 * var(--shop-unit)); border-radius: calc(30 * var(--shop-unit)); }
.sim-view .shop-age-copy h1 { font-weight: 800; white-space: pre-line; letter-spacing: 0; }
.sim-view .sim-success-card { display: flex; flex-direction: column; height: auto; gap: 0; padding: calc(41 * var(--shop-unit)) calc(24 * var(--shop-unit)) calc(32 * var(--shop-unit)) calc(48 * var(--shop-unit)); }
.sim-success-copy { overflow-wrap: anywhere; font-size: calc(24 * var(--shop-unit)); line-height: 1.1; letter-spacing: calc(-.264 * var(--shop-unit)); }
.sim-success-copy h1 { font-size: calc(24 * var(--shop-unit)); font-weight: 400; line-height: 1.1; margin: 0 0 calc(26 * var(--shop-unit)); }
.sim-success-copy > p { margin: 0 0 calc(20 * var(--shop-unit)); }
.sim-success-copy strong, .sim-customer-details h2, .sim-customer-details dd { font-family: "Boston Bold", "Boston", sans-serif; font-weight: 700; }
.sim-customer-details { width: calc(409 * var(--shop-unit)); max-width: 100%; border: calc(2 * var(--shop-unit)) solid var(--shop-line); border-radius: calc(20 * var(--shop-unit)); padding: calc(10 * var(--shop-unit)) calc(11 * var(--shop-unit)); color: #000; letter-spacing: calc(-.22 * var(--shop-unit)); }
.sim-customer-details h2 { margin: 0 0 calc(5 * var(--shop-unit)); font-size: calc(20 * var(--shop-unit)); line-height: calc(26 * var(--shop-unit)); font-weight: 700; }
.sim-customer-details dl { display: grid; gap: calc(4 * var(--shop-unit)); margin: 0; }
.sim-customer-details dl > div { display: grid; grid-template-columns: calc(210 * var(--shop-unit)) minmax(0, 1fr); gap: calc(24 * var(--shop-unit)); }
.sim-customer-details dt, .sim-customer-details dd { margin: 0; font-size: calc(20 * var(--shop-unit)); line-height: calc(26 * var(--shop-unit)); overflow-wrap: anywhere; }
.sim-customer-details dd { font-weight: 700; }
.sim-success-footer { display: flex; justify-content: space-between; align-items: flex-end; gap: calc(24 * var(--shop-unit)); margin-top: auto; padding-top: 0; }
.sim-success-footer p { margin: 0; min-height: calc(31 * var(--shop-unit)); font-size: calc(24 * var(--shop-unit)); line-height: 1.1; letter-spacing: calc(-.264 * var(--shop-unit)); }
.sim-view .sim-conclusion-card { height: auto; padding: calc(94 * var(--shop-unit)) calc(32 * var(--shop-unit)) calc(32 * var(--shop-unit)); }
.sim-conclusion-card .shop-result-actions { position: static; margin-top: calc(38 * var(--shop-unit)); }

.sim-conclusion-copy { position: static; max-width: 100%; margin: 0 auto; transform: none; }
.sim-conclusion-copy ul { margin: 0; }
@media (max-width: 64rem) {
  .sim-tariff-art { width: min(100%, 186px); height: auto; aspect-ratio: 186 / 184; margin: 0; }
  .sim-type-panel, .sim-summary-panel { min-height: 384px; }
  .sim-type-options { grid-template-columns: minmax(0, 210px) 1fr minmax(0, 210px); margin-top: 32px; }
  .sim-summary-panel { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sim-order-art { gap: 12px; transform: scale(.8); }
  .sim-summary-footer { flex-wrap: wrap; }
}
@media (max-width: 48rem) {
  .sim-type-panel, .sim-summary-panel, .sim-customer-details { --shop-unit: var(--shop-mobile-unit); }
  .sim-tariff-art { width: calc(137 * var(--shop-mobile-unit)); height: calc(136 * var(--shop-mobile-unit)); justify-self: center; }
  .sim-type-panel { padding: calc(28 * var(--shop-mobile-unit)) calc(16 * var(--shop-mobile-unit)); }
  .sim-type-panel h1 { font-size: clamp(1.25rem, calc(24 * var(--shop-mobile-unit)), 1.5rem); line-height: normal; }
  .sim-type-options { grid-template-columns: minmax(0, 1fr); gap: calc(20 * var(--shop-mobile-unit)); width: calc(210 * var(--shop-mobile-unit)); margin-top: calc(24 * var(--shop-mobile-unit)); }
  .sim-type-option { min-height: calc(210 * var(--shop-mobile-unit)); padding: calc(16 * var(--shop-mobile-unit)); }
  .sim-type-option h2 { font-size: clamp(1.25rem, calc(24 * var(--shop-mobile-unit)), 1.5rem); line-height: normal; }
  .sim-type-or { font-size: clamp(1.25rem, calc(24 * var(--shop-mobile-unit)), 1.5rem); }
  .sim-type-option .sim-select, .sim-summary-footer .shop-product-button, .sim-success-footer .shop-product-button {
    width: auto; min-width: calc(117 * var(--shop-mobile-unit)); min-height: calc(34 * var(--shop-mobile-unit));
    padding: calc(5 * var(--shop-mobile-unit)) calc(12 * var(--shop-mobile-unit));
    font-size: clamp(.875rem, calc(16 * var(--shop-mobile-unit)), 1rem); line-height: calc(24 * var(--shop-mobile-unit));
  }
  .sim-summary-panel { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .sim-order-preview { min-height: calc(181 * var(--shop-mobile-unit)); overflow: hidden; }
  .sim-order-art { transform: scale(.65); }
  .sim-summary { border-left: 0; border-top: calc(2 * var(--shop-mobile-unit)) solid #fff; }
  .sim-summary h1 { padding: calc(12 * var(--shop-mobile-unit)) calc(24 * var(--shop-mobile-unit)); font-size: clamp(1.125rem, calc(20 * var(--shop-mobile-unit)), 1.25rem); line-height: calc(30 * var(--shop-mobile-unit)); }
  .sim-price-lines { padding: calc(16 * var(--shop-mobile-unit)) calc(14 * var(--shop-mobile-unit)); gap: calc(16 * var(--shop-mobile-unit)); }
  .sim-price-lines dt, .sim-price-lines dd { font-size: clamp(.8125rem, calc(15 * var(--shop-mobile-unit)), .9375rem); line-height: calc(20 * var(--shop-mobile-unit)); }
  .sim-price-total { margin: 0; padding: calc(24 * var(--shop-mobile-unit)) calc(14 * var(--shop-mobile-unit)) 0; font-size: clamp(1rem, calc(18 * var(--shop-mobile-unit)), 1.125rem); line-height: calc(23 * var(--shop-mobile-unit)); }
  .sim-summary-footer { flex-wrap: nowrap; padding: calc(24 * var(--shop-mobile-unit)); padding-left: calc(14 * var(--shop-mobile-unit)); gap: calc(6 * var(--shop-mobile-unit)); }
  .sim-summary-footer p { font-size: clamp(.6875rem, calc(12 * var(--shop-mobile-unit)), .75rem); line-height: calc(16 * var(--shop-mobile-unit)); }
  .sim-view .sim-success-card { padding: calc(28 * var(--shop-mobile-unit)) calc(24 * var(--shop-mobile-unit)) calc(24 * var(--shop-mobile-unit)); gap: calc(20 * var(--shop-mobile-unit)); }
  .sim-success-copy, .sim-success-copy h1, .sim-success-footer p { font-size: clamp(.8125rem, calc(15 * var(--shop-mobile-unit)), .9375rem); line-height: calc(22.5 * var(--shop-mobile-unit)); }
  .sim-success-copy h1 { margin-bottom: calc(22.5 * var(--shop-mobile-unit)); }
  .sim-customer-details { width: 100%; padding: calc(10 * var(--shop-mobile-unit)); }
  .sim-customer-details h2 { font-size: clamp(.8125rem, calc(15 * var(--shop-mobile-unit)), .9375rem); line-height: calc(22.5 * var(--shop-mobile-unit)); }
  .sim-customer-details dl > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(12 * var(--shop-mobile-unit)); }
  .sim-customer-details dt, .sim-customer-details dd { font-size: clamp(.8125rem, calc(15 * var(--shop-mobile-unit)), .9375rem); line-height: calc(22.5 * var(--shop-mobile-unit)); }
  .sim-success-footer { flex-wrap: wrap; gap: calc(20 * var(--shop-mobile-unit)); }
  .sim-success-footer .shop-product-button { margin-left: auto; }
  .sim-view .sim-conclusion-card { padding: calc(113 * var(--shop-mobile-unit)) calc(25 * var(--shop-mobile-unit)) calc(24 * var(--shop-mobile-unit)); }
  .sim-conclusion-card .shop-result-actions { margin-top: calc(24 * var(--shop-mobile-unit)); }
}
