/* Desktop application accordion + reference-detail polish for /virtual-number/. */
.vn-ref-summary-heading,
.vn-ref-summary-details,
.vn-ref-summary-wallet {
  display: none;
}

@media (min-width: 1024px) {
  body.ir-page-virtual-number-shop .ir-app--desktop-shell main > [data-vn-shop] {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    padding-inline: 1.4rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-shop] > .vn-ref-selector {
    grid-template-columns: minmax(0, 1fr) 18.75rem !important;
    gap: 1.05rem !important;
  }

  body.ir-page-virtual-number-shop .vn-ref-form-card {
    padding: 1.05rem 1.15rem 1.15rem !important;
    border-radius: 1rem !important;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .045) !important;
  }

  /* The reference starts the work card directly with step 1. */
  body.ir-page-virtual-number-shop .vn-ref-selector-heading {
    display: none !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-wrap],
  body.ir-page-virtual-number-shop [data-vn-country-wrap] {
    padding-inline: .1rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-wrap] {
    padding-top: .15rem !important;
    padding-bottom: 1rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-wrap] > label,
  body.ir-page-virtual-number-shop [data-vn-country-wrap] > label {
    min-height: 1.8rem;
    margin: 0 0 .55rem !important;
    padding: 0 .1rem !important;
    gap: .55rem !important;
    color: #111827 !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-wrap] > label > span,
  body.ir-page-virtual-number-shop [data-vn-country-wrap] > label > span {
    width: 1.65rem !important;
    min-width: 1.65rem !important;
    height: 1.65rem !important;
    padding: 0 !important;
    border-radius: .38rem !important;
    background: #111827 !important;
    color: #fff !important;
    box-shadow: 0 3px 9px rgba(17, 24, 39, .08);
  }

  /* Accordion header: deliberately compact, like the section head in the source. */
  body.ir-page-virtual-number-shop [data-vn-app-trigger] {
    position: relative;
    z-index: 2;
    min-height: 3.05rem !important;
    padding: .45rem .65rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: .72rem !important;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-radius .16s ease, border-color .16s ease, background .16s ease !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger][aria-expanded="true"] {
    border-color: #f3c556 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    background: #fffdf8 !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-icon] {
    width: 2rem !important;
    height: 2rem !important;
    flex: 0 0 2rem !important;
    border-radius: .55rem !important;
    background: #f9fafb !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-icon] img,
  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-icon] svg {
    max-width: 1.4rem !important;
    max-height: 1.4rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-title] {
    font-size: .72rem !important;
    line-height: 1.2rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-subtitle] {
    display: none !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-chevron-shell] {
    width: 1.85rem !important;
    height: 1.85rem !important;
    border-radius: .5rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-trigger][aria-expanded="true"] + [data-vn-app-panel] {
    margin-top: -1px !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-panel] {
    border: 1px solid #f3c556 !important;
    border-radius: 0 0 .82rem .82rem !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .055) !important;
    overflow: hidden !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child {
    padding: .72rem .75rem .62rem !important;
    border-bottom: 1px solid #f1f3f5 !important;
    background: #fffdf8 !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child label {
    height: 2.7rem !important;
    border: 1px solid #e3e6ea !important;
    border-radius: .64rem !important;
    background: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.3) !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child input {
    font-size: .72rem !important;
  }

  /* The former one-row-per-service list is now the visual app catalog. */
  body.ir-page-virtual-number-shop [data-vn-app-panel] > [data-vn-scroll-list] {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .48rem !important;
    max-height: 16.75rem !important;
    padding: .72rem !important;
    overflow-y: auto !important;
    align-items: stretch;
    scrollbar-gutter: stable;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] {
    display: flex !important;
    min-width: 0 !important;
    min-height: 6.15rem !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .38rem !important;
    padding: .55rem .34rem !important;
    border: 1px solid #eceff2 !important;
    border-radius: .72rem !important;
    background: #fff !important;
    text-align: center !important;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .025);
    transition: transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option]:hover {
    transform: translateY(-1px);
    border-color: #efbb3d !important;
    background: #fffaf0 !important;
    box-shadow: 0 7px 16px rgba(245, 158, 11, .075);
  }

  body.ir-page-virtual-number-shop [data-vn-app-option].is-selected {
    border-color: #f59e0b !important;
    background: #fff7e6 !important;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, .10), 0 7px 16px rgba(245, 158, 11, .07);
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] [data-vn-option-icon] {
    width: 2.7rem !important;
    height: 2.7rem !important;
    flex: 0 0 2.7rem !important;
    border-radius: .74rem !important;
    background: #f8fafc !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] [data-vn-option-icon] img,
  body.ir-page-virtual-number-shop [data-vn-app-option] [data-vn-option-icon] svg {
    max-width: 1.95rem !important;
    max-height: 1.95rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) {
    width: 100%;
    min-width: 0;
    text-align: center !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) strong {
    display: block !important;
    width: 100%;
    overflow: hidden;
    color: #111827 !important;
    font-size: .64rem !important;
    font-weight: 800 !important;
    line-height: 1.12rem !important;
    text-align: center !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) > span {
    justify-content: center !important;
    gap: .18rem !important;
    margin-top: 0 !important;
    color: #9ca3af !important;
    font-size: .49rem !important;
    line-height: .92rem !important;
    text-align: center !important;
  }

  body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) > span > span:first-child,
  body.ir-page-virtual-number-shop [data-vn-app-option] > span:last-child,
  body.ir-page-virtual-number-shop .vn-ref-app-shortcuts {
    display: none !important;
  }

  /* Country is the compact second step from the reference. */
  body.ir-page-virtual-number-shop [data-vn-country-wrap] {
    margin-top: .05rem !important;
    padding-top: .95rem !important;
    padding-bottom: .55rem !important;
    border-top: 1px solid #f0f2f4 !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-trigger] {
    min-height: 3.25rem !important;
    padding: .48rem .65rem !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: .72rem !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-trigger] [data-vn-country-flag] {
    width: 2.2rem !important;
    height: 2.2rem !important;
    flex: 0 0 2.2rem !important;
    border-radius: .58rem !important;
    background: #f9fafb !important;
    font-size: 1.05rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-trigger] [data-vn-country-title] {
    font-size: .72rem !important;
    line-height: 1.2rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-trigger] [data-vn-country-subtitle] {
    margin-top: 0 !important;
    font-size: .56rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-panel] {
    margin-top: .45rem !important;
    border: 1px solid #e1e5e9 !important;
    border-radius: .78rem !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .06) !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-panel] > div:first-child {
    padding: .72rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-panel] label {
    height: 2.7rem !important;
    border-radius: .62rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-panel] [data-vn-price-range] {
    height: 4px !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-items] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
  }

  body.ir-page-virtual-number-shop [data-vn-country-items] > button {
    min-width: 0;
    min-height: 3.65rem;
    padding: .55rem .62rem !important;
    border: 1px solid #edf0f3 !important;
    border-radius: .68rem !important;
    background: #fff !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-items] > button:hover {
    border-color: #f2c14e !important;
    background: #fffaf0 !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-items] > button > span:first-child {
    width: 2rem !important;
    height: 2rem !important;
    flex: 0 0 2rem !important;
    border-radius: .5rem !important;
    font-size: 1rem !important;
  }

  body.ir-page-virtual-number-shop [data-vn-country-items] > button > span:last-child {
    display: none !important;
  }

  /* Order summary: replace the temporary glyph with a real neutral receipt icon
     and format values as the same label/value rows used by the source design. */
  body.ir-page-virtual-number-shop [data-vn-summary].vn-ref-summary-card {
    min-height: 20.5rem !important;
    padding: 1.05rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 1rem !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    margin: 0 0 .55rem !important;
    padding: 0 0 .75rem !important;
    border-bottom: 1px solid #f0f2f4;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-heading strong {
    color: #111827;
    font-size: .86rem;
    font-weight: 900;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-heading__icon {
    width: 1.85rem !important;
    height: 1.85rem !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #edf0f3;
    border-radius: .5rem !important;
    background: #f9fafb !important;
    color: #6b7280 !important;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-heading__icon svg {
    width: 1rem;
    height: 1rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-details {
    display: grid;
    gap: 0;
    padding: .1rem 0 .25rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-row {
    min-height: 3.05rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem 0;
    border-bottom: 1px dashed #e6e9ed;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-row__label {
    flex: 0 0 auto;
    color: #6b7280;
    font-size: .62rem;
    font-weight: 700;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-row__value {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-row__value strong {
    min-width: 0;
    overflow: hidden;
    color: #111827;
    font-size: .68rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-mini-icon,
  body.ir-page-virtual-number-shop .vn-ref-summary-country-flag {
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    display: grid;
    place-items: center;
    border-radius: .55rem;
    background: #f9fafb;
    font-size: .95rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-mini-icon img,
  body.ir-page-virtual-number-shop .vn-ref-summary-mini-icon svg {
    max-width: 1.35rem;
    max-height: 1.35rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-empty-dot {
    width: .42rem;
    height: .42rem;
    border-radius: 999px;
    background: #d1d5db;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-final-price {
    color: #111827;
    font-size: .78rem;
    font-weight: 950;
    text-align: left;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-native {
    display: none !important;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-wallet {
    min-height: 2.9rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .1rem;
    padding: .62rem 0;
    border-top: 0 !important;
    border-bottom: 1px dashed #e6e9ed !important;
    color: #6b7280;
    font-size: .62rem;
  }

  body.ir-page-virtual-number-shop .vn-ref-summary-wallet strong {
    color: #111827;
    font-size: .7rem;
    font-weight: 900;
  }

  body.ir-page-virtual-number-shop [data-vn-checkout-link] {
    min-height: 2.85rem !important;
    margin-top: .85rem !important;
    border-radius: .66rem !important;
    background: linear-gradient(90deg, #f59e0b, #fbbf24) !important;
    color: #111827 !important;
    font-size: .72rem !important;
    box-shadow: 0 8px 18px rgba(245, 158, 11, .16) !important;
  }

  body.ir-page-virtual-number-shop .vn-ref-form-note {
    margin-top: .65rem !important;
    padding-top: .7rem !important;
    font-size: .58rem !important;
  }
}

@media (min-width: 1280px) {
  body.ir-page-virtual-number-shop [data-vn-app-panel] > [data-vn-scroll-list] {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  body.ir-page-virtual-number-shop .ir-app--desktop-shell main > [data-vn-shop] {
    width: min(100%, 1340px) !important;
    max-width: 1340px !important;
  }
}

@media (min-width: 1024px) {
  html.dark body.ir-page-virtual-number-shop [data-vn-app-wrap] > label,
  html.dark body.ir-page-virtual-number-shop [data-vn-country-wrap] > label,
  body.dark.ir-page-virtual-number-shop [data-vn-app-wrap] > label,
  body.dark.ir-page-virtual-number-shop [data-vn-country-wrap] > label {
    color: #f8fafc !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-trigger],
  body.dark.ir-page-virtual-number-shop [data-vn-app-trigger] {
    border-color: #334155 !important;
    background: #111827 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-trigger][aria-expanded="true"],
  body.dark.ir-page-virtual-number-shop [data-vn-app-trigger][aria-expanded="true"] {
    border-color: rgba(245, 158, 11, .62) !important;
    background: #121b2a !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-icon],
  body.dark.ir-page-virtual-number-shop [data-vn-app-trigger] [data-vn-app-icon],
  html.dark body.ir-page-virtual-number-shop [data-vn-country-trigger] [data-vn-country-flag],
  body.dark.ir-page-virtual-number-shop [data-vn-country-trigger] [data-vn-country-flag] {
    background: #182235 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-panel],
  body.dark.ir-page-virtual-number-shop [data-vn-app-panel] {
    border-color: rgba(245, 158, 11, .48) !important;
    background: #0f172a !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .22) !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child,
  body.dark.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child {
    border-bottom-color: #253247 !important;
    background: #101827 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child label,
  body.dark.ir-page-virtual-number-shop [data-vn-app-panel] > div:first-child label {
    border-color: #334155 !important;
    background: #111827 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-option],
  body.dark.ir-page-virtual-number-shop [data-vn-app-option] {
    border-color: #253247 !important;
    background: #111827 !important;
    box-shadow: none !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-option]:hover,
  body.dark.ir-page-virtual-number-shop [data-vn-app-option]:hover,
  html.dark body.ir-page-virtual-number-shop [data-vn-app-option].is-selected,
  body.dark.ir-page-virtual-number-shop [data-vn-app-option].is-selected {
    border-color: rgba(245, 158, 11, .70) !important;
    background: rgba(245, 158, 11, .085) !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-option] [data-vn-option-icon],
  body.dark.ir-page-virtual-number-shop [data-vn-app-option] [data-vn-option-icon] {
    background: #182235 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) strong,
  body.dark.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) strong {
    color: #f8fafc !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) > span,
  body.dark.ir-page-virtual-number-shop [data-vn-app-option] > span:nth-child(2) > span {
    color: #94a3b8 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-country-trigger],
  body.dark.ir-page-virtual-number-shop [data-vn-country-trigger],
  html.dark body.ir-page-virtual-number-shop [data-vn-country-panel],
  body.dark.ir-page-virtual-number-shop [data-vn-country-panel] {
    border-color: #334155 !important;
    background: #111827 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-country-items] > button,
  body.dark.ir-page-virtual-number-shop [data-vn-country-items] > button {
    border-color: #253247 !important;
    background: #111827 !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-country-items] > button:hover,
  body.dark.ir-page-virtual-number-shop [data-vn-country-items] > button:hover {
    border-color: rgba(245, 158, 11, .65) !important;
    background: rgba(245, 158, 11, .08) !important;
  }

  html.dark body.ir-page-virtual-number-shop [data-vn-summary].vn-ref-summary-card,
  body.dark.ir-page-virtual-number-shop [data-vn-summary].vn-ref-summary-card {
    border-color: #334155 !important;
    background: #111827 !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18) !important;
  }

  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-heading,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-heading,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-row,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-row,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-wallet,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-wallet {
    border-color: #2d3a4d !important;
  }

  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-heading strong,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-heading strong,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-row__value strong,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-row__value strong,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-final-price,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-final-price,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-wallet strong,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-wallet strong {
    color: #f8fafc !important;
  }

  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-heading__icon,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-heading__icon,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-mini-icon,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-mini-icon,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-country-flag,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-country-flag {
    border-color: #334155 !important;
    background: #182235 !important;
    color: #cbd5e1 !important;
  }

  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-row__label,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-row__label,
  html.dark body.ir-page-virtual-number-shop .vn-ref-summary-wallet,
  body.dark.ir-page-virtual-number-shop .vn-ref-summary-wallet {
    color: #94a3b8 !important;
  }
}