/* custom css form ai */



/* Dashboard navigation */
.dashboard .settings-tabs-scroll {
    margin: 0 0 1.5rem;
    padding: 0.375rem;
    overflow-x: auto;
    border: 1px solid #e7e7e9;
    border-radius: 0.75rem;
    background: #f7f7f8;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

/* Travel connectivity landing */
.travel-connectivity-page {
    color: #33333a;
}

.travel-connectivity-hero {
    padding: 3.25rem 0;
    background: linear-gradient(135deg, #f7f4fd 0%, #ffffff 70%);
}

.travel-connectivity-hero img {
    width: 100%;
    max-width: 10rem;
    height: auto;
    margin-bottom: 0.75rem;
}

.travel-connectivity-hero h1 {
    margin-bottom: 0.8rem;
}

.travel-connectivity-hero .lead {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.travel-connectivity-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.travel-connectivity-actions .button {
    margin: 0;
}

.travel-connectivity-section {
    padding: 2.75rem 0;
}

.travel-connectivity-section h2 {
    margin-bottom: 1.4rem;
}

.travel-connectivity-copy {
    max-width: 52rem;
    margin: -0.4rem auto 1.5rem;
    color: #4f4f57;
}

.travel-connectivity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.travel-connectivity-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.travel-connectivity-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.6rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.travel-connectivity-card h3 {
    margin-bottom: 0.75rem;
    font-size: 1.4rem;
}

.travel-connectivity-card p {
    flex-grow: 1;
    color: #4f4f57;
}

.travel-connectivity-card a,
.travel-connectivity-notice a {
    font-weight: 600;
}

.travel-connectivity-notice {
    margin-top: 1.25rem;
    padding: 1.35rem 1.5rem;
    border-left: 4px solid #8a71c4;
    border-radius: 0.45rem;
    background: #f8f8fa;
}

.travel-connectivity-notice p {
    margin-bottom: 0.55rem;
}

.start-travel-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem 1rem;
    margin-top: 0.9rem;
    padding-top: 0.8rem;
    border-top: 1px solid #ece8f2;
}

.start-travel-links a {
    font-weight: 600;
}

/* Prepaid virtual-number guide */
.prepaid-number-page {
    color: #33333a;
}

.prepaid-number-hero {
    padding: 3.25rem 0;
    background: linear-gradient(135deg, #f7f4fd 0%, #ffffff 70%);
}

.prepaid-number-hero img {
    width: 100%;
    max-width: 10rem;
    height: auto;
    margin-bottom: 0.75rem;
}

.prepaid-number-hero .lead {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.prepaid-number-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.prepaid-number-actions .button {
    margin: 0;
}

.prepaid-number-section {
    padding: 2.75rem 0;
}

.prepaid-number-section h2 {
    margin-bottom: 1rem;
}

.prepaid-number-meaning p,
.prepaid-number-capabilities > .row > .columns > p {
    max-width: 52rem;
    color: #4f4f57;
}

.prepaid-number-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 1.5rem 0;
}

.prepaid-number-fact {
    padding: 1.5rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.prepaid-number-fact h3 {
    font-size: 1.35rem;
}

.prepaid-number-fact p {
    color: #4f4f57;
}

.prepaid-number-fact a {
    font-weight: 600;
}

.prepaid-number-capabilities,
.prepaid-number-availability {
    background: #f8f8fa;
}

.prepaid-number-capability-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1.25rem 0 0;
    list-style: none;
}

.prepaid-number-capability-list li {
    padding: 0.65rem 1rem;
    border: 1px solid #ded8e8;
    border-radius: 999px;
    background: #ffffff;
    color: #433075;
    font-weight: 600;
}

.prepaid-number-steps {
    margin: 1.25rem 0 0;
    padding-left: 1.4rem;
}

.prepaid-number-steps li {
    margin-bottom: 0.9rem;
    padding-left: 0.35rem;
}

.prepaid-number-notice {
    padding: 1.35rem 1.5rem;
    border-left: 4px solid #8a71c4;
    border-radius: 0.45rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.prepaid-number-notice p:last-child {
    margin-bottom: 0;
}

.prepaid-number-related {
    background: #f8f8fa;
}

.prepaid-number-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.prepaid-number-related-links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid #ded8e8;
    border-radius: 999px;
    background: #ffffff;
    font-weight: 600;
}

.prepaid-number-related-links a:hover,
.prepaid-number-related-links a:focus {
    border-color: #8a71c4;
}

.prepaid-country-search {
    max-width: 38rem;
    margin: 1.5rem auto 0;
    text-align: left;
}

.prepaid-country-search label {
    font-weight: 600;
}

.prepaid-country-result-count {
    margin: 0.75rem 0;
    color: #5f5f67;
    font-size: 0.9rem;
}

.prepaid-country-no-results {
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 0.45rem;
    background: #f8f8fa;
}

.prepaid-regulatory-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1rem;
    margin: 1.25rem 0 1.75rem;
    color: #4f4f57;
    font-size: 0.85rem;
}

.prepaid-regulatory-legend strong {
    flex-basis: 100%;
}

.prepaid-regulatory-legend span span {
    margin-right: 0.25rem;
}

.prepaid-country-list-wrap {
    clear: both;
}

.prepaid-country-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.prepaid-country-card {
    min-width: 0;
}

.prepaid-country-card-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.1rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    text-align: left;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.prepaid-country-primary {
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    padding-right: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
}

.prepaid-country-primary img {
    flex: 0 0 auto;
    width: 2.25rem;
    margin-right: 0.75rem;
}

.prepaid-country-regulatory {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
}

.prepaid-country-secondary {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #ece8f2;
    font-size: 0.8rem;
}

/* Two-factor authentication phone-number guide */
.twofa-number-page {
    color: #33333a;
}

.twofa-number-hero {
    padding: 3.25rem 0;
    background: linear-gradient(135deg, #f7f4fd 0%, #ffffff 70%);
}

.twofa-number-hero img {
    width: 100%;
    max-width: 10rem;
    height: auto;
    margin-bottom: 0.75rem;
}

.twofa-number-hero .lead,
.twofa-number-final p {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.twofa-number-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.twofa-number-actions .button {
    margin: 0;
}

.twofa-number-section {
    padding: 2.75rem 0;
}

.twofa-number-section h2 {
    margin-bottom: 1rem;
}

.twofa-number-intro p,
.twofa-number-compatibility > .row > .columns > p,
.twofa-number-availability > .row > .columns > p {
    max-width: 52rem;
    color: #4f4f57;
}

.twofa-number-compatibility,
.twofa-number-steps-section,
.twofa-number-related {
    background: #f8f8fa;
}

.twofa-number-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.twofa-number-comparison-card,
.twofa-number-card {
    padding: 1.4rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.twofa-number-comparison-card {
    border-top-width: 4px;
}

.twofa-number-comparison-positive {
    border-top-color: #65a77b;
}

.twofa-number-comparison-caution {
    border-top-color: #d59a54;
}

.twofa-number-comparison-card h3,
.twofa-number-card h3 {
    font-size: 1.25rem;
}

.twofa-number-comparison-card p,
.twofa-number-card p {
    margin-bottom: 0;
    color: #4f4f57;
}

.twofa-number-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.twofa-number-steps {
    margin: 1.25rem 0 0;
    padding-left: 1.5rem;
}

.twofa-number-steps li {
    margin-bottom: 0.9rem;
    padding-left: 0.35rem;
}

.twofa-number-notice {
    padding: 1.35rem 1.5rem;
    border-left: 4px solid #d59a54;
    border-radius: 0.45rem;
    background: #fffaf3;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.twofa-number-notice ul {
    margin-bottom: 0;
}

.twofa-number-notice li {
    margin-bottom: 0.5rem;
}

.twofa-number-availability {
    background: #f4f1fa;
}

.twofa-number-text-links,
.twofa-number-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.twofa-number-text-links a,
.twofa-number-related-links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid #ded8e8;
    border-radius: 999px;
    background: #ffffff;
    font-weight: 600;
}

.twofa-number-text-links a:hover,
.twofa-number-text-links a:focus,
.twofa-number-related-links a:hover,
.twofa-number-related-links a:focus {
    border-color: #8a71c4;
}

.twofa-number-final {
    background: linear-gradient(135deg, #ffffff 0%, #f7f4fd 100%);
}

/* Existing phone-number and device integration guide */
.own-devices-page {
    color: #33333a;
}

.own-devices-hero {
    padding: 3.25rem 0;
    background: linear-gradient(135deg, #f7f4fd 0%, #ffffff 70%);
}

.own-devices-hero img {
    width: 100%;
    max-width: 10rem;
    height: auto;
    margin-bottom: 0.75rem;
}

.own-devices-hero .lead,
.own-devices-final p {
    max-width: 52rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.own-devices-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.own-devices-actions .button {
    margin: 0;
}

.own-devices-section {
    padding: 2.75rem 0;
}

.own-devices-section h2 {
    margin-bottom: 1rem;
}

.own-devices-intro > .row > .columns > p,
.own-devices-comparison-section > .row > .columns > p,
.own-devices-requirements > .row > .columns > p {
    max-width: 54rem;
    color: #4f4f57;
}

.own-devices-outbound-notice,
.own-devices-pricing-notice {
    margin-top: 1.5rem;
    padding: 1.35rem 1.5rem;
    border-left: 4px solid #d59a54;
    border-radius: 0.45rem;
    background: #fffaf3;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.own-devices-outbound-notice h3 {
    font-size: 1.25rem;
}

.own-devices-outbound-notice p,
.own-devices-pricing-notice p {
    margin-bottom: 0.65rem;
}

.own-devices-types,
.own-devices-steps-section,
.own-devices-related {
    background: #f8f8fa;
}

.own-devices-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.own-devices-card,
.own-devices-comparison-card {
    padding: 1.4rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.own-devices-card h3,
.own-devices-comparison-card h3 {
    font-size: 1.25rem;
}

.own-devices-card p {
    margin-bottom: 0;
    color: #4f4f57;
}

.own-devices-steps {
    margin: 1.25rem 0 0;
    padding-left: 1.5rem;
}

.own-devices-steps li {
    margin-bottom: 0.9rem;
    padding-left: 0.35rem;
}

.own-devices-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.own-devices-comparison-card {
    border-top-width: 4px;
}

.own-devices-comparison-existing {
    border-top-color: #7586b5;
}

.own-devices-comparison-virtual {
    border-top-color: #8a71c4;
}

.own-devices-comparison-card ul {
    margin-bottom: 1rem;
}

.own-devices-comparison-card li {
    margin-bottom: 0.6rem;
}

.own-devices-pricing {
    background: #f4f1fa;
}

.own-devices-pricing-notice {
    border-left-color: #8a71c4;
    background: #ffffff;
}

.own-devices-requirements-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.5rem;
    margin: 1.25rem 0;
}

.own-devices-requirements-list li {
    padding-left: 0.25rem;
}

.own-devices-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.own-devices-related-links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid #ded8e8;
    border-radius: 999px;
    background: #ffffff;
    font-weight: 600;
}

.own-devices-related-links a:hover,
.own-devices-related-links a:focus {
    border-color: #8a71c4;
}

.own-devices-final {
    background: linear-gradient(135deg, #ffffff 0%, #f7f4fd 100%);
}

.travel-connectivity-numbers {
    background: #f8f8fa;
}

.travel-connectivity-numbers > .row > .columns > p {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
}

.travel-connectivity-numbers .search-numbers {
    margin-top: 1.5rem;
    padding: 1.35rem 1.25rem 0.1rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.travel-connectivity-numbers .search-numbers .small-up-1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 1rem;
}

.travel-connectivity-numbers .search-numbers .column {
    width: auto;
    padding: 0;
    float: none;
}

.travel-connectivity-numbers .search-numbers .column-block > br {
    display: none;
}

@media screen and (max-width: 39.9375em) {
    .travel-connectivity-hero,
    .travel-connectivity-section,
    .prepaid-number-hero,
    .prepaid-number-section,
    .twofa-number-hero,
    .twofa-number-section,
    .own-devices-hero,
    .own-devices-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .travel-connectivity-actions,
    .prepaid-number-actions,
    .twofa-number-actions,
    .own-devices-actions {
        display: block;
    }

    .travel-connectivity-actions .button,
    .prepaid-number-actions .button,
    .twofa-number-actions .button,
    .own-devices-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .travel-connectivity-grid,
    .travel-connectivity-numbers .search-numbers .small-up-1,
    .prepaid-number-detail-grid,
    .twofa-number-comparison,
    .twofa-number-card-grid,
    .own-devices-type-grid,
    .own-devices-comparison,
    .own-devices-requirements-list {
        grid-template-columns: 1fr;
    }

    .twofa-number-text-links,
    .twofa-number-related-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    .twofa-number-text-links a,
    .twofa-number-related-links a {
        justify-content: center;
        border-radius: 0.5rem;
        text-align: center;
    }

    .own-devices-related-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    .own-devices-related-links a {
        justify-content: center;
        border-radius: 0.5rem;
        text-align: center;
    }

    .prepaid-number-related-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    .prepaid-number-related-links a {
        justify-content: center;
        border-radius: 0.5rem;
    }

    .prepaid-number-capability-list {
        display: grid;
        grid-template-columns: 1fr;
        padding-left: 0;
    }

    .prepaid-number-capability-list li {
        border-radius: 0.5rem;
        text-align: center;
    }

    .prepaid-regulatory-legend {
        display: block;
        text-align: left;
    }

    .prepaid-regulatory-legend > span {
        display: block;
        margin-top: 0.5rem;
    }
}

@media screen and (max-width: 29.9375em) {
    .prepaid-country-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 30em) and (max-width: 39.9375em) {
    .prepaid-country-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .travel-connectivity-grid-three {
        grid-template-columns: 1fr;
    }

    .prepaid-country-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .twofa-number-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .own-devices-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Preserve the utility navigation appearance when semantic buttons are used as menu toggles. */
.actions-bar .header-menu-toggle {
    display: inline-block;
    color: #666666;
    margin-right: 0.9375rem;
    line-height: 1.125rem;
    cursor: pointer;
    vertical-align: middle;
}

.actions-bar .header-menu-toggle:focus,
.actions-bar .header-menu-toggle:hover {
    color: #9091EC;
}

.actions-bar .header-menu-toggle.lang-menu {
    margin-right: 0;
}

.main-footer .footer-partners {
    padding: 1.5rem 0;
    border-top: 1px solid #e4e4e4;
    background: #f2f2f2;
}

.main-footer .footer-partners h4 {
    margin-bottom: 0.75rem;
}

.main-footer .footer-partners ul {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 0;
}

.main-footer .footer-partners li {
    display: block;
    font-size: 0.8125rem;
}

.main-footer + .main-footer {
    margin-top: 0;
}

@media screen and (max-width: 39.9375em) {
    .main-footer .footer-partners ul {
        display: block;
    }

    .main-footer .footer-partners li + li {
        margin-top: 0.5rem;
    }
}

.pricing-page-header {
    margin-bottom: 2rem;
}

.pricing-page-header p {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
}

.pricing-overview .pricing-overview-section {
    padding: 2.5rem 0;
    border-bottom: 1px solid #ececf3;
}

.pricing-overview .pricing-overview-section:first-child {
    padding-top: 0;
}

.pricing-model-grid,
.pricing-usage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.pricing-model-card,
.pricing-usage-card {
    height: 100%;
    padding: 1.25rem;
    border: 1px solid #e4e4ee;
    border-radius: 8px;
    background: #fff;
}

.pricing-model-card h3,
.pricing-usage-card h3 {
    margin-top: 0;
}

.pricing-model-card p,
.pricing-usage-card p {
    margin-bottom: 0;
    color: #5f5f67;
}

.pricing-usage-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-usage-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.pricing-usage-card img {
    width: 6.875rem;
    height: 6.875rem;
    margin-bottom: 0.75rem;
    object-fit: contain;
}

.pricing-usage-card p {
    flex-grow: 1;
    margin-bottom: 1rem;
}

.pricing-usage-card .button,
.pricing-overview-cta .button {
    margin-bottom: 0;
}

.pricing-overview .pricing-overview-cta {
    padding-bottom: 0;
    border-bottom: 0;
}

.pricing-overview .pricing-country-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.3;
}

.pricing-overview .pricing-country-link .flag {
    flex: 0 0 auto;
    margin-right: 0;
}

.pricing-overview .pricing-number-price {
    display: block;
    white-space: nowrap;
}

.pricing-overview .pricing-capability-link {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
}

@media screen and (max-width: 63.9375em) {
    .pricing-usage-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 39.9375em) {
    .pricing-page-header {
        margin-bottom: 1.5rem;
    }

    .pricing-overview .pricing-overview-section {
        padding: 2rem 0;
    }

    .pricing-model-grid {
        grid-template-columns: 1fr;
    }
}

.pricing-detail .pricing-detail-section {
    padding: 2.5rem 0;
    border-bottom: 1px solid #ececf3;
}

.pricing-detail .pricing-detail-section h2 {
    margin-top: 0;
}

.pricing-detail .pricing-detail-section form,
.pricing-detail .flag-select-wrap {
    max-width: 34rem;
    margin-right: auto;
    margin-left: auto;
}

.pricing-detail .pricing-rate-highlight {
    margin: 1.25rem auto;
    padding: 1rem 1.25rem;
    border: 1px solid #ddd5f2;
    border-radius: 8px;
    background: #f7f4fd;
    color: #433075;
    font-size: 1.2rem;
    text-align: center;
}

.pricing-detail-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.pricing-detail-actions .button {
    margin: 0;
}

.pricing-detail .pricing-detail-cta {
    padding-bottom: 0;
    border-bottom: 0;
}

@media screen and (max-width: 39.9375em) {
    .pricing-detail .pricing-detail-section {
        padding: 2rem 0;
    }

    .pricing-detail-actions {
        display: block;
    }

    .pricing-detail-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }
}

/* Phone number landing page */
.phonenumber-page > .row {
    margin-bottom: 2.5rem;
}

.phonenumber-page > .row:last-child {
    margin-bottom: 1rem;
}

.phonenumber-page .phonenumber-card-grid {
    display: flex;
    flex-wrap: wrap;
}

.phonenumber-page .phonenumber-card-grid::before,
.phonenumber-page .phonenumber-card-grid::after {
    display: none;
}

.phonenumber-page .phonenumber-card-grid > .column {
    display: flex;
    float: none;
}

.phonenumber-page .phonenumber-card-grid > .column > .bt-box-margin {
    width: 100%;
}

.phonenumber-page .phonenumber-country-grid {
    margin-top: 1.5rem;
}

.phonenumber-page .phonenumber-country-grid .bt-box-margin {
    padding: 1.25rem 2.75rem 1.25rem 0.75rem;
}

.phonenumber-page .phonenumber-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.phonenumber-page .phonenumber-actions .button {
    margin: 0;
}

@media screen and (max-width: 39.9375em) {
    .phonenumber-page > .row {
        margin-bottom: 2rem;
    }

    .phonenumber-page .phonenumber-actions .button {
        width: 100%;
    }
}

/* Virtual number landing page */
.virtualnumbers-landing-hero {
    padding: 2.5rem 0;
    background: linear-gradient(135deg, #f2f1ff 0%, #fff 65%);
}

.virtualnumbers-landing-hero .lead {
    max-width: 52rem;
    margin-right: auto;
    margin-left: auto;
    color: #55555f;
}

.virtualnumbers-landing-section {
    margin-top: 3rem;
}

.virtualnumbers-landing-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.virtualnumbers-landing-actions .button {
    margin: 0;
}

.virtualnumbers-guide-link {
    margin: 1rem 0 0;
}

.virtualnumbers-country-grid,
.virtualnumbers-service-grid,
.virtualnumbers-step-grid,
.virtualnumbers-info-grid {
    display: flex;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.virtualnumbers-country-grid::before,
.virtualnumbers-country-grid::after,
.virtualnumbers-service-grid::before,
.virtualnumbers-service-grid::after,
.virtualnumbers-step-grid::before,
.virtualnumbers-step-grid::after,
.virtualnumbers-info-grid::before,
.virtualnumbers-info-grid::after {
    display: none;
}

.virtualnumbers-country-grid > .column,
.virtualnumbers-service-grid > .column,
.virtualnumbers-step-grid > .column,
.virtualnumbers-info-grid > .column {
    display: flex;
    float: none;
}

.virtualnumbers-country-card,
.virtualnumbers-service-card,
.virtualnumbers-step-card,
.virtualnumbers-info-card {
    width: 100%;
}

.virtualnumbers-country-card {
    display: flex;
    min-height: 9rem;
    flex-direction: column;
    color: #2f2d61;
    border-top: 3px solid #5d59b5;
}

.virtualnumbers-country-card:hover,
.virtualnumbers-country-card:focus {
    color: #2f2d61;
    transform: translateY(-2px);
}

.virtualnumbers-country-card-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.virtualnumbers-country-card-heading > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.virtualnumbers-country-card-heading strong {
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.virtualnumbers-country-card-heading small {
    color: #6a6974;
}

.virtualnumbers-country-card-link {
    margin-top: auto;
    padding-top: 1rem;
    color: #514da3;
    font-size: 0.875rem;
    font-weight: 700;
}

.virtualnumbers-service-card,
.virtualnumbers-step-card,
.virtualnumbers-info-card {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.virtualnumbers-service-card h3 {
    display: flex;
    margin-top: 0;
    align-items: center;
    color: #2f2d61;
    font-size: 1.2rem;
    gap: 0.75rem;
}

.virtualnumbers-service-card p,
.virtualnumbers-step-card p,
.virtualnumbers-info-card p {
    color: #5f5f67;
    line-height: 1.55;
}

.virtualnumbers-step-card > span {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: 0.75rem;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    background-color: #5d59b5;
    font-weight: 700;
}

.virtualnumbers-step-card p {
    margin: 0;
}

.virtualnumbers-info-card .button {
    margin-top: auto;
    align-self: flex-start;
}

.virtualnumbers-landing-ready {
    margin-bottom: 2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media screen and (max-width: 39.9375em) {
    .virtualnumbers-landing-hero {
        padding: 2rem 0;
    }

    .virtualnumbers-landing-actions .button {
        width: 100%;
    }
}

/* Country-specific phone number facts */
.phonenumber-country-summary {
    margin-bottom: 2.5rem;
}

.phonenumber-country-summary > p {
    margin-bottom: 1.5rem;
}

.phonenumber-country-fact-grid {
    display: flex;
    flex-wrap: wrap;
}

.phonenumber-country-fact-grid::before,
.phonenumber-country-fact-grid::after {
    display: none;
}

.phonenumber-country-fact-grid > .column {
    display: flex;
    float: none;
}

.phonenumber-country-fact {
    display: flex;
    width: 100%;
    flex-direction: column;
    border-top: 4px solid #5d59b5;
}

.phonenumber-country-fact h3 {
    display: flex;
    margin: 0 0 1.15rem;
    align-items: center;
    gap: 0.75rem;
    color: #2f2d61;
    font-size: 1.25rem;
    line-height: 1.3;
}

.phonenumber-country-fact h3::after {
    height: 1px;
    flex: 1 1 auto;
    background-color: #e5e4ef;
    content: "";
}

.phonenumber-country-fact h4 {
    margin-bottom: 0.35rem;
}

.phonenumber-country-fact-badge-list {
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    gap: 0.55rem;
    list-style: none;
}

.phonenumber-country-fact-badge-list > li {
    max-width: 100%;
    margin: 0;
}

.phonenumber-country-fact-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    padding: 0.48rem 0.75rem;
    border: 1px solid #d7d6f2;
    border-radius: 999px;
    color: #2f2d61;
    background-color: #f1f0ff;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.phonenumber-country-fact-badge-link:hover,
.phonenumber-country-fact-badge-link:focus {
    color: #fff;
    border-color: #5d59b5;
    background-color: #5d59b5;
}

.phonenumber-country-fact-badge-success {
    color: #17633a;
    border-color: #b9e8cc;
    background-color: #eaf9f0;
}

.phonenumber-country-fact-badge-success > span {
    margin-right: 0.35rem;
}

.phonenumber-country-fact-empty,
.phonenumber-country-fact-disclaimer {
    margin: 1rem 0 0;
    color: #686872;
    font-size: 0.875rem;
    line-height: 1.45;
}

.phonenumber-country-fact-disclaimer {
    margin-top: auto;
    padding-top: 1rem;
}

.phonenumber-country-audience {
    margin-bottom: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #e4e3ef;
    border-radius: 0.5rem;
    background-color: #f8f8fc;
}

.phonenumber-country-audience h4 {
    margin: 0 0 0.25rem;
    color: #2f2d61;
    font-size: 0.9375rem;
}

.phonenumber-country-audience p {
    margin: 0;
    color: #5f5f67;
    font-size: 0.875rem;
    line-height: 1.45;
}

.phonenumber-country-requirement-list {
    margin: 0.15rem 0 0;
    padding: 0;
    list-style: none;
}

.phonenumber-country-requirement-list li {
    position: relative;
    margin: 0.45rem 0;
    padding-left: 1.35rem;
    color: #55555f;
    font-size: 0.875rem;
    line-height: 1.4;
}

.phonenumber-country-requirement-list li::before {
    position: absolute;
    top: 0.45rem;
    left: 0.15rem;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background-color: #5d59b5;
    content: "";
}

.phonenumber-country-purchase-detail {
    display: flex;
    margin-bottom: 0.65rem;
    padding: 0.75rem 0.85rem;
    align-items: flex-start;
    border: 1px solid #e4e3ef;
    border-radius: 0.5rem;
    background-color: #f8f8fc;
    gap: 0.65rem;
}

.phonenumber-country-purchase-detail > span {
    flex: 0 0 auto;
    color: #5d59b5;
    font-weight: 700;
}

.phonenumber-country-purchase-detail > p {
    margin: 0;
    color: #55555f;
    font-size: 0.875rem;
    line-height: 1.45;
}

.phonenumber-country-purchase-detail-availability {
    border-color: #b9e8cc;
    background-color: #eaf9f0;
}

.phonenumber-country-purchase-detail-availability > span {
    color: #23844f;
}

.phonenumber-country-actions {
    display: flex;
    margin-top: auto;
    padding-top: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.phonenumber-country-actions .button {
    margin: 0;
}

.phonenumber-country-service-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.25rem;
    line-height: 1.3;
    margin: 0 0 1rem;
}

.phonenumber-country-service-title img {
    flex: 0 0 auto;
}

.phonenumber-country-service-summary {
    margin: 0;
    color: #5f5f67;
    line-height: 1.55;
}

.phonenumber-country-service-grid {
    display: flex;
    flex-wrap: wrap;
}

.phonenumber-country-service-grid::before,
.phonenumber-country-service-grid::after {
    display: none;
}

.phonenumber-country-service-grid > .column {
    display: flex;
    float: none;
}

.phonenumber-country-service-grid > .column > .bt-box-margin {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.phonenumber-country-service-facts {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin-top: 1.25rem;
}

.phonenumber-country-service-facts h4 {
    display: flex;
    margin: 0.75rem 0 0.35rem;
    align-items: center;
    gap: 0.65rem;
    color: #2f2d61;
    font-size: 1rem;
}

.phonenumber-country-service-facts h4::after {
    height: 1px;
    flex: 1 1 auto;
    background-color: #e5e4ef;
    content: "";
}

.phonenumber-country-service-facts .button {
    margin-top: auto;
}

.phonenumber-country-badge-list {
    display: flex;
    margin: 0 0 0.75rem;
    padding: 0;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
}

.phonenumber-country-badge-list > li {
    max-width: 100%;
    margin: 0;
}

.phonenumber-country-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    padding: 0.4rem 0.7rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.phonenumber-country-badge-type {
    color: #2f2d61;
    border-color: #d7d6f2;
    background-color: #f1f0ff;
}

.phonenumber-country-badge-capability {
    color: #17633a;
    border-color: #b9e8cc;
    background-color: #eaf9f0;
}

.phonenumber-country-badge-capability > span {
    margin-right: 0.35rem;
    font-size: 0.875rem;
}

.phonenumber-country-service-note {
    margin: 0.5rem 0;
    padding: 0.7rem 0.8rem;
    color: #5a4721;
    border-left: 3px solid #d9a441;
    border-radius: 0 0.35rem 0.35rem 0;
    background-color: #fff8e8;
    font-size: 0.875rem;
    line-height: 1.4;
}

.phonenumber-country-switcher {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.phonenumber-country-switcher label {
    flex: 1 1 auto;
    margin: 0;
}

.phonenumber-country-switcher select {
    margin-bottom: 0;
}

.phonenumber-country-switcher noscript {
    flex: 0 0 100%;
}

@media screen and (max-width: 39.9375em) {
    .phonenumber-country-summary {
        margin-bottom: 2rem;
    }

    .phonenumber-country-actions .button {
        width: 100%;
    }

    .phonenumber-country-switcher {
        align-items: stretch;
        flex-direction: column;
    }

    .phonenumber-country-switcher label {
        width: 100%;
    }
}

.dashboard ul.settings-tabs {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: center;
    border: 0;
    background: transparent;
}

.dashboard ul.settings-tabs::before,
.dashboard ul.settings-tabs::after {
    display: none;
}

.dashboard ul.settings-tabs > .tabs-title {
    width: auto;
    margin: 0;
    flex: 0 0 auto;
    float: none;
}

.dashboard ul.settings-tabs > .tabs-title > a {
    padding: 0.6875rem 0.9375rem;
    border-radius: 0.5rem;
    color: #66666d;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    transition: color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.dashboard ul.settings-tabs > .tabs-title > a:hover,
.dashboard ul.settings-tabs > .tabs-title > a:focus {
    background: #e9e9eb;
    color: #111;
}

.dashboard ul.settings-tabs > .tabs-title.is-active > a,
.dashboard ul.settings-tabs > .tabs-title > a[aria-selected="true"] {
    background: #111;
    color: #fff;
    box-shadow: 0 0.25rem 0.65rem rgba(0, 0, 0, 0.18);
}

@media screen and (max-width: 39.9375em) {
    .dashboard .settings-tabs-scroll {
        margin-right: -0.5rem;
        margin-left: -0.5rem;
        padding: 0.3125rem;
        border-radius: 0.625rem;
    }

    .dashboard ul.settings-tabs {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .dashboard ul.settings-tabs > .tabs-title > a {
        padding: 0.625rem 0.8125rem;
        font-size: 0.8125rem;
    }
}

.dashboard nav.dashboard-main-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Shared dashboard data lists */
.dashboard .dashboard-list-wrapper {
    margin-top: 1rem;
}

.dashboard table.dashboard-list-table {
    border: 0;
    border-collapse: separate;
    border-spacing: 0 0.625rem;
    background: transparent;
    box-shadow: none;
}

.dashboard table.dashboard-list-table > thead {
    background: transparent;
}

.dashboard table.dashboard-list-table > thead > tr > th {
    padding: 0.5rem 0.875rem;
    border: 0;
    color: #68686f;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td {
    padding: 1rem 0.875rem;
    border-top: 1px solid #eeeeef;
    border-bottom: 1px solid #eeeeef;
    background: #fff;
    vertical-align: middle;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td:first-child {
    border-left: 1px solid #eeeeef;
    border-radius: 0.75rem 0 0 0.75rem;
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td:last-child {
    border-right: 1px solid #eeeeef;
    border-radius: 0 0.75rem 0.75rem 0;
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry:hover > td {
    border-color: #d9d9dc;
    box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.05);
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry.is-unread > td {
    background: #fff;
}

.dashboard table.dashboard-list-table > tbody > .dashboard-list-entry.is-unread > td:nth-child(2) strong::before {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-right: 0.45rem;
    border-radius: 50%;
    background: #111;
    content: "";
    vertical-align: 0.1em;
}

.dashboard table.recording-list-table audio {
    display: block;
    width: min(100%, 19rem);
}

@media screen and (max-width: 39.9375em) {
    .dashboard .dashboard-list-wrapper {
        overflow: visible;
    }

    .dashboard table.dashboard-list-table,
    .dashboard table.dashboard-list-table > tbody {
        display: block;
        width: 100%;
        border: 0;
        background: transparent;
    }

    .dashboard table.dashboard-list-table > thead {
        display: none;
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry {
        display: flex;
        width: 100%;
        margin: 0 0 0.875rem;
        overflow: hidden;
        flex-direction: column;
        border: 1px solid #eeeeef;
        border-radius: 0.875rem;
        background: #fff;
        box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.07);
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td {
        display: block;
        width: 100% !important;
        padding: 0.75rem 1rem !important;
        border: 0;
        border-top: 1px solid #eeeeef;
        border-radius: 0;
        background: transparent;
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td:first-child {
        padding-top: 1rem !important;
        border-top: 0;
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td:last-child {
        padding-bottom: 1rem !important;
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry > td:empty {
        display: none;
    }

    .dashboard table.dashboard-list-table > tbody > .dashboard-list-entry:hover > td {
        box-shadow: none;
    }

    .dashboard table.communication-list-table > tbody > .dashboard-list-entry > td:first-child {
        min-height: 2.75rem;
    }

    .dashboard table.communication-list-table span.activity-icon {
        margin: 0;
    }

    .dashboard table.recording-list-table audio {
        width: 100%;
    }

    .dashboard table.conference-list-table .table-responsive {
        overflow: visible;
    }
}

@media screen and (max-width: 39.9375em) {
    .dashboard table.operational-list-table > tbody > .dashboard-list-entry > td[data-label]::before {
        display: block;
        margin-bottom: 0.3rem;
        color: #76767d;
        content: attr(data-label);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .dashboard table.operational-list-table > tbody > .dashboard-list-entry > td.text-center {
        text-align: left;
    }

    .dashboard table.operational-list-table > tbody > .dashboard-list-entry > td[data-label="Manage"],
    .dashboard table.operational-list-table > tbody > .dashboard-list-entry > td[data-label="Revive"],
    .dashboard table.operational-list-table > tbody > .dashboard-list-entry > td[data-label="Invoice"] {
        background: #fafafa;
    }

    .dashboard table.esim-list-table .reveal,
    .dashboard table.payment-list-table .reveal {
        text-align: left;
    }
}

.dashboard nav.dashboard-main-nav li {
    display: block;
    width: 100%;
    margin: 0 0 0.25rem;
}

.dashboard nav.dashboard-main-nav a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.875rem;
    padding: 0.6875rem 0.875rem;
    border-radius: 0.5rem;
    color: #77777f;
    line-height: 1.35;
    text-align: left;
    transition: color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.dashboard nav.dashboard-main-nav svg {
    flex: 0 0 1.1875rem;
    width: 1.1875rem;
    height: 1.1875rem;
    margin: 0 0.75rem 0 0;
    vertical-align: middle;
}

.dashboard nav.dashboard-main-nav a:hover,
.dashboard nav.dashboard-main-nav a:focus {
    color: #4d4d53;
    background-color: #f3f3f5;
}

.dashboard nav.dashboard-main-nav a:focus-visible {
    outline: 2px solid #77777f;
    outline-offset: 2px;
}

.dashboard nav.dashboard-main-nav a.active,
.dashboard nav.dashboard-main-nav a.active:hover,
.dashboard nav.dashboard-main-nav a.active:focus {
    color: #ffffff;
    background-color: #111111;
    box-shadow: 0 0.25rem 0.75rem rgba(17, 17, 17, 0.16);
}

.dashboard nav.dashboard-main-nav a:hover svg path,
.dashboard nav.dashboard-main-nav a:focus svg path {
    fill: #4d4d53;
}

.dashboard nav.dashboard-main-nav a.active svg path {
    fill: #ffffff;
}

.dashboard nav.dashboard-main-nav a.active svg rect:first-of-type {
    fill: transparent;
    stroke: #ffffff;
}

.dashboard nav.dashboard-main-nav a.active svg rect:nth-of-type(2) {
    fill: #ffffff;
}

.dashboard nav.dashboard-main-nav a.active svg text {
    fill: #111111;
}

.dashboard .dashboard-menu-column {
    margin-bottom: 1rem;
}

.dashboard .dashboard-mobile-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 4.25rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.625rem;
    background-color: #ffffff;
    box-shadow: 0 0.125rem 0.875rem rgba(0, 0, 0, 0.1);
}

.dashboard .dashboard-mobile-account {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

.dashboard .dashboard-mobile-avatar {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0.75rem;
}

.dashboard .dashboard-mobile-account-details {
    min-width: 0;
    line-height: 1.2;
}

.dashboard .dashboard-mobile-account-details .label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard .dashboard-mobile-upgrade,
.dashboard .dashboard-account-upgrade,
.dashboard .dashboard-offcanvas-account a {
    display: block;
    margin-top: 0.375rem;
    font-size: 0.75rem;
}

.dashboard .dashboard-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    min-height: 2.75rem;
    margin: 0 0 0 0.75rem;
    padding: 0.625rem 0.875rem;
    border-radius: 0.5rem;
}

.dashboard .dashboard-menu-toggle span {
    width: 1.0625rem;
    height: 1.0625rem;
    margin-right: 0.5rem;
    background: url("../images/icons/layout/burger-button.svg") no-repeat center;
}

.dashboard .dashboard-desktop-sidebar {
    display: none;
}

.dashboard .dashboard-account-summary {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 1.25rem;
}

.dashboard .dashboard-account-summary .user-avatar {
    margin-bottom: 1rem;
}

.dashboard .dashnav {
    padding: 0.75rem 0 0;
    border-top: 1px solid #eeeeef;
    box-shadow: none;
}

.dashboard .dashboard-offcanvas {
    width: 19rem;
    max-width: 86vw;
    background-color: #ffffff;
}

.dashboard .dashboard-offcanvas.position-left {
    transform: translateX(-100%);
}

.dashboard .dashboard-offcanvas.position-left.is-open {
    transform: translate(0, 0);
}

.dashboard .dashnav-mobile {
    height: 100%;
    padding: 1.25rem;
    overflow-y: auto;
}

.dashboard .dashboard-offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eeeeef;
}

.dashboard .dashboard-offcanvas-header .close-button {
    position: static;
    margin: 0;
    color: #4d4d53;
}

.dashboard .dashboard-offcanvas-account {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eeeeef;
}

.dashboard .dashboard-offcanvas-account img {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    margin-right: 0.75rem;
}

.dashboard .dashnav-mobile .dashboard-main-nav li {
    margin-bottom: 0.375rem;
}

@media print, screen and (min-width: 64em) {
    .dashboard .dashboard-menu-column {
        margin-bottom: 0;
    }

    .dashboard .dashboard-mobile-bar {
        display: none;
    }

    .dashboard .dashboard-desktop-sidebar {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dashboard .activity-subnav a,
    .dashboard nav.dashboard-main-nav a {
        transition: none;
    }
}

/* Dashboard activity list */
.dashboard .activity-page-header {
    margin-bottom: 1.125rem;
}

.dashboard .activity-page-header h1 {
    margin-bottom: 0.375rem;
}

.dashboard .activity-page-header p {
    margin-bottom: 0;
    color: #77777f;
}

.dashboard .activity-subnav {
    margin-bottom: 1.5rem;
}

.dashboard .activity-subnav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dashboard .activity-subnav li {
    flex: 0 0 auto;
    margin: 0;
}

.dashboard .activity-subnav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.5625rem 1rem;
    border: 1px solid #e1e1e5;
    border-radius: 999px;
    color: #5f5f67;
    background-color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    transition: color 150ms ease, border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.dashboard .activity-subnav a:hover,
.dashboard .activity-subnav a:focus {
    color: #333338;
    border-color: #c8c8ce;
    background-color: #f3f3f5;
}

.dashboard .activity-subnav a:focus-visible {
    outline: 2px solid #77777f;
    outline-offset: 2px;
}

.dashboard .activity-subnav a.active,
.dashboard .activity-subnav a.active:hover,
.dashboard .activity-subnav a.active:focus {
    color: #ffffff;
    border-color: #111111;
    background-color: #111111;
    box-shadow: 0 0.25rem 0.75rem rgba(17, 17, 17, 0.16);
}

.dashboard .activity-list-wrapper {
    overflow: visible;
}

.dashboard table.activity-table {
    width: 100%;
    border-spacing: 0 0.625rem;
    table-layout: auto;
}

.dashboard table.activity-table thead {
    display: none;
}

.dashboard table.activity-table .activity-entry > td {
    padding: 1rem 0.875rem;
    vertical-align: top;
    background-color: #ffffff;
    line-height: 1.45;
}

.dashboard table.activity-table .activity-entry > td:first-child {
    width: 3.75rem;
    border-radius: 0.625rem 0 0 0.625rem;
}

.dashboard table.activity-table .activity-entry > td:nth-child(2) {
    width: 29%;
    overflow-wrap: anywhere;
}

.dashboard table.activity-table .activity-entry > td:nth-child(3) {
    overflow-wrap: anywhere;
}

.dashboard table.activity-table .activity-entry > td:last-child {
    width: 6.5rem;
    border-radius: 0 0.625rem 0.625rem 0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.dashboard table.activity-table .activity-entry strong {
    color: #2f2d61;
}

.dashboard table.activity-table .activity-entry .label {
    border-radius: 999px;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

@media screen and (max-width: 63.9375em) {
    .dashboard .activity-subnav ul {
        justify-content: flex-start;
        flex-wrap: nowrap;
        padding: 0.125rem 0.125rem 0.75rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard .activity-subnav li {
        scroll-snap-align: start;
    }

    .dashboard .activity-list-wrapper,
    .dashboard table.activity-table,
    .dashboard table.activity-table tbody {
        display: block;
        width: 100%;
    }

    .dashboard table.activity-table {
        border-spacing: 0;
    }

    .dashboard table.activity-table thead {
        display: none;
    }

    .dashboard table.activity-table .activity-entry {
        display: grid;
        grid-template-columns: 2.75rem minmax(0, 1fr) auto;
        width: 100%;
        min-height: 0;
        margin-bottom: 0.75rem;
        overflow: hidden;
        border-radius: 0.625rem;
        background-color: #ffffff;
        box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
    }

    .dashboard table.activity-table .activity-entry > td {
        display: block;
        width: auto;
        min-width: 0;
        padding: 0;
        border-radius: 0;
        background-color: transparent;
    }

    .dashboard table.activity-table .activity-entry > td:first-child {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: auto;
        padding: 1rem 0.25rem 1rem 1rem;
    }

    .dashboard table.activity-table .activity-entry > td:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        padding: 1rem 0.75rem;
    }

    .dashboard table.activity-table .activity-entry > td:nth-child(3) {
        grid-column: 2 / 4;
        grid-row: 2;
        margin-right: 1rem;
        padding: 0.875rem 0 1rem;
        border-top: 1px solid #eeeeef;
    }

    .dashboard table.activity-table .activity-entry > td:last-child {
        grid-column: 3;
        grid-row: 1;
        width: auto;
        padding: 1rem 1rem 1rem 0;
        text-align: right;
    }

    .dashboard table.activity-table .activity-entry > td:last-child:empty {
        display: none;
    }

    .dashboard table.activity-table .activity-entry span.activity-icon {
        width: 2.1875rem;
        height: 2.1875rem;
        background-position: center;
    }
}

/* Dashboard contact and conversation tables */
.dashboard .dashboard-card-table-wrapper {
    overflow: visible;
    border: 0;
    background-color: transparent;
}

.dashboard table.dashboard-card-table {
    width: 100%;
    border: 0;
    border-spacing: 0 0.625rem;
    background-color: transparent;
    table-layout: auto;
}

.dashboard table.dashboard-card-table tbody {
    border: 0;
    background-color: transparent;
}

.dashboard table.dashboard-card-table .dashboard-card-row > td {
    padding: 1rem 0.875rem;
    vertical-align: middle;
    background-color: #ffffff;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.dashboard table.dashboard-card-table .dashboard-card-row > td:first-child {
    border-radius: 0.625rem 0 0 0.625rem;
}

.dashboard table.dashboard-card-table .dashboard-card-row > td:last-child {
    border-radius: 0 0.625rem 0.625rem 0;
}

.dashboard table.dashboard-card-table .dashboard-card-row strong {
    color: #2f2d61;
}

.dashboard table.dashboard-card-table .dashboard-card-row.is-unread .grouped-entry-summary strong::before {
    display: inline-block;
    width: 0.375rem;
    height: 0.375rem;
    margin-right: 0.375rem;
    border-radius: 50%;
    background-color: #111111;
    vertical-align: middle;
    content: '';
}

.dashboard table.call-grouped-table thead,
.dashboard table.sms-grouped-table thead {
    display: none;
}

.dashboard table.addressbook-table thead th {
    padding: 0.5rem 0.875rem;
    color: #77777f;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.dashboard .addressbook-entry-name {
    width: 18%;
}

.dashboard .addressbook-entry-numbers {
    width: 25%;
}

.dashboard .addressbook-entry-numbers i {
    width: 1.25rem;
    margin-right: 0.25rem;
    color: #77777f;
    text-align: center;
}

.dashboard .addressbook-entry-email {
    width: 22%;
}

.dashboard .addressbook-entry-description {
    color: #5f5f67;
}

.dashboard .addressbook-entry-actions {
    width: 5.5rem;
    text-align: right;
    white-space: nowrap;
}

.dashboard .dashboard-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: #f3f3f5;
}

.dashboard .dashboard-row-action + .reveal + .dashboard-row-action,
.dashboard .dashboard-row-action + .dashboard-row-action {
    margin-left: 0.375rem;
}

.dashboard .dashboard-row-action svg path {
    fill: #77777f;
}

.dashboard .dashboard-row-action:hover,
.dashboard .dashboard-row-action:focus {
    background-color: #e8e8eb;
}

.dashboard .dashboard-row-action:hover svg path,
.dashboard .dashboard-row-action:focus svg path {
    fill: #111111;
}

.dashboard table.call-grouped-table .grouped-entry-number,
.dashboard table.sms-grouped-table .grouped-entry-number {
    width: 24%;
    white-space: nowrap;
}

.dashboard table.call-grouped-table .grouped-entry-summary,
.dashboard table.sms-grouped-table .grouped-entry-summary {
    width: 25%;
}

.dashboard table.call-grouped-table .grouped-entry-preview,
.dashboard table.sms-grouped-table .grouped-entry-preview {
    color: #5f5f67;
}

.dashboard table.sms-grouped-table .grouped-entry-preview .dont-break-out {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dashboard .grouped-entry-open,
.dashboard .grouped-entry-action {
    width: 3.75rem;
    text-align: center;
}

.dashboard .grouped-entry-open a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    border-radius: 50%;
    background-color: #f3f3f5;
}

.dashboard .grouped-entry-open a:hover,
.dashboard .grouped-entry-open a:focus {
    background-color: #e8e8eb;
}

.dashboard .grouped-entry-open a:hover svg path,
.dashboard .grouped-entry-open a:focus svg path {
    fill: #111111;
}

@media screen and (max-width: 63.9375em) {
    .dashboard .dashboard-card-table-wrapper,
    .dashboard table.dashboard-card-table,
    .dashboard table.dashboard-card-table tbody {
        display: block;
        width: 100%;
    }

    .dashboard table.dashboard-card-table {
        border-spacing: 0;
    }

    .dashboard table.dashboard-card-table thead {
        display: none;
    }

    .dashboard table.dashboard-card-table .dashboard-card-row {
        position: relative;
        display: grid;
        width: 100%;
        min-height: 0;
        margin-bottom: 0.75rem;
        overflow: hidden;
        border: 1px solid #eeeeef;
        border-radius: 0.625rem;
        background-color: #ffffff;
        box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
    }

    .dashboard table.dashboard-card-table .dashboard-card-row.is-unread {
        background-color: #ffffff;
    }

    .dashboard table.dashboard-card-table .dashboard-card-row > td {
        display: block;
        width: auto;
        min-width: 0;
        padding: 0;
        border-radius: 0;
        background-color: transparent;
        box-shadow: none;
    }

    .dashboard table.addressbook-table .addressbook-entry {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-name {
        grid-column: 1;
        grid-row: 1;
        padding: 1rem;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-actions {
        display: flex;
        grid-column: 2;
        grid-row: 1;
        align-items: flex-start;
        gap: 0.375rem;
        padding: 0.75rem 0.75rem 0.5rem 0;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-numbers,
    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-email,
    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-description {
        grid-column: 1 / 3;
        margin: 0 1rem;
        padding: 0.75rem 0;
        border-top: 1px solid #eeeeef;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-numbers {
        grid-row: 2;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-email {
        grid-row: 3;
    }

    .dashboard table.addressbook-table .addressbook-entry .addressbook-entry-description {
        grid-row: 4;
        padding-bottom: 1rem;
    }

    .dashboard table.call-grouped-table .call-grouped-entry,
    .dashboard table.sms-grouped-table .sms-grouped-entry {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .dashboard table.call-grouped-table .call-grouped-entry .grouped-entry-summary,
    .dashboard table.sms-grouped-table .sms-grouped-entry .grouped-entry-summary {
        grid-column: 1;
        grid-row: 1;
        padding: 1rem 0.75rem 0.75rem 1rem;
    }

    .dashboard table.call-grouped-table .call-grouped-entry .grouped-entry-open,
    .dashboard table.sms-grouped-table .sms-grouped-entry .grouped-entry-open {
        grid-column: 2;
        grid-row: 1;
        padding: 0.75rem 0.75rem 0.5rem 0;
    }

    .dashboard table.call-grouped-table .call-grouped-entry .grouped-entry-number,
    .dashboard table.sms-grouped-table .sms-grouped-entry .grouped-entry-number {
        grid-column: 1 / 3;
        grid-row: 2;
        margin: 0 1rem;
        padding: 0.75rem 0;
        border-top: 1px solid #eeeeef;
    }

    .dashboard table.call-grouped-table .call-grouped-entry .grouped-entry-preview,
    .dashboard table.sms-grouped-table .sms-grouped-entry .grouped-entry-preview {
        grid-column: 1;
        grid-row: 3;
        margin-left: 1rem;
        padding: 0.75rem 0 1rem;
        border-top: 1px solid #eeeeef;
    }

    .dashboard table.sms-grouped-table .sms-grouped-entry .grouped-entry-preview {
        grid-column: 1 / 3;
        margin-right: 1rem;
    }

    .dashboard table.call-grouped-table .call-grouped-entry .grouped-entry-action {
        grid-column: 2;
        grid-row: 3;
        padding: 0.625rem 0.75rem 0.75rem;
        border-top: 1px solid #eeeeef;
    }
}

/* Services comparison hub */
.services-hub {
    padding-bottom: 2.5rem;
}

.services-hub-hero {
    padding-top: 2rem;
    padding-bottom: 2.5rem;
}

.services-hub-hero .lead,
.services-hub-section > .text-center > p,
.services-hub-final p {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.services-hub-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.services-hub-actions .button {
    margin: 0;
}

.services-hub-section {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
    border-top: 1px solid #eeeeef;
}

.services-hub-card-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.75rem;
}

.services-hub-card-column {
    display: flex;
}

.services-hub-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    padding: 1.5rem;
    border: 1px solid #e8e8eb;
    border-top: 0.25rem solid #7b57d1;
    border-radius: 0.625rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.08);
}

.services-hub-card-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.services-hub-card-heading img {
    flex: 0 0 3.5rem;
    object-fit: contain;
}

.services-hub-card-heading h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.services-hub-card > p {
    color: #5f5f67;
}

.services-hub-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.5rem;
    list-style: none;
}

.services-hub-badges li {
    margin: 0;
    padding: 0.35rem 0.65rem;
    border: 1px solid #ddd5f2;
    border-radius: 999px;
    background: #f7f4fd;
    color: #51398d;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.services-hub-card-action {
    margin-top: auto;
}

.services-hub-card-action .button {
    margin-bottom: 0;
}

.services-hub-table-wrap {
    margin-top: 1.75rem;
    overflow-x: auto;
    border: 1px solid #e8e8eb;
    border-radius: 0.625rem;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.services-hub-table {
    width: 100%;
    min-width: 52rem;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #ffffff;
}

.services-hub-table th,
.services-hub-table td {
    padding: 0.9rem 0.75rem;
    border-right: 1px solid #eeeeef;
    border-bottom: 1px solid #eeeeef;
    text-align: center;
    vertical-align: middle;
}

.services-hub-table th:last-child,
.services-hub-table td:last-child {
    border-right: 0;
}

.services-hub-table tbody tr:last-child th,
.services-hub-table tbody tr:last-child td {
    border-bottom: 0;
}

.services-hub-table thead th {
    background: #f7f7f9;
    color: #3f3f46;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.services-hub-table thead th:first-child,
.services-hub-table tbody th {
    min-width: 10rem;
    text-align: left;
}

.services-hub-table tbody th {
    background: #ffffff;
    font-weight: 600;
}

.services-hub-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    font-weight: 700;
}

.services-hub-status.is-included {
    background: #e8f7ee;
    color: #17763b;
}

.services-hub-status.is-not-included {
    background: #f3f3f5;
    color: #8a8a91;
}

.services-hub-availability-note {
    margin: 1rem 0 0;
    padding: 1rem 1.125rem;
    border-left: 0.25rem solid #d6a328;
    border-radius: 0.25rem;
    background: #fff9e8;
    color: #5f4b1f;
}

.services-hub-final {
    margin-top: 0;
    padding-bottom: 1rem;
}

@media screen and (max-width: 39.9375em) {
    .services-hub-hero,
    .services-hub-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .services-hub-actions {
        display: block;
    }

    .services-hub-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .services-hub-card {
        padding: 1.25rem;
    }
}

/* Setup primary choice links */
.start-setup-card {
    padding: 1.5rem;
}

.start-setup-card > p {
    max-width: 32rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.start-setup-card > .button {
    margin-bottom: 0.85rem;
}

.start-setup-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    max-width: 30rem;
    margin: 0 auto;
}

.start-setup-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid #ddd5f2;
    border-radius: 0.5rem;
    background: #f7f4fd;
    color: #433075;
    font-size: 0.875rem;
    line-height: 1.25;
    text-align: center;
}

.start-setup-links a:hover,
.start-setup-links a:focus {
    border-color: #9e83dc;
    background: #eee8fa;
}

.start-setup-links a,
.start-country-guide,
.start-country-all-links a {
    font-weight: 600;
}

.start-country-card {
    height: 100%;
    padding: 1rem;
}

.start-country-purchase {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.start-country-purchase img {
    object-fit: contain;
}

.start-country-purchase small {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.8rem;
    line-height: 1.3;
}

.start-country-guide {
    display: block;
    margin-top: 0.7rem;
    padding-top: 0.6rem;
    border-top: 1px solid #eeeeef;
    font-size: 0.8rem;
    line-height: 1.3;
}

.start-country-all-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    max-width: 40rem;
    margin: 1rem auto 0;
}

.start-country-all-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.6rem 0.9rem;
    border: 1px solid #ddd5f2;
    border-radius: 0.5rem;
    background: #f7f4fd;
    color: #433075;
    line-height: 1.25;
    text-align: center;
}

.start-country-all-links a:first-child {
    border-color: #7b57d1;
    background: #7b57d1;
    color: #ffffff;
}

.start-country-all-links a:hover,
.start-country-all-links a:focus {
    border-color: #9e83dc;
    background: #eee8fa;
    color: #433075;
}

@media screen and (max-width: 39.9375em) {
    .start-setup-links,
    .start-country-all-links {
        grid-template-columns: 1fr;
    }
}

.setup-comparison {
    margin-top: 1rem;
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    border-top: 1px solid #eeeeef;
}

.setup-comparison-summary {
    max-width: 52rem;
    margin: 1rem auto 0;
}

.setup-comparison-summary p {
    margin-bottom: 0.55rem;
    color: #5f5f67;
}

.setup-comparison-detail {
    font-size: 0.925rem;
}

.setup-comparison-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 1.25rem;
}

.setup-comparison-actions .button {
    margin: 0;
}

.setup-primary-choice {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.setup-primary-choice .cstm-check {
    flex: 1 1 auto;
}

.setup-primary-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.setup-primary-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.5rem 0.8rem;
    border: 1px solid #ddd5f2;
    border-radius: 999px;
    background: #f7f4fd;
    color: #433075;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.25;
}

.setup-primary-links a:hover,
.setup-primary-links a:focus {
    border-color: #9e83dc;
    background: #eee8fa;
}

.setup-country-result {
    padding: 1rem;
    text-align: center;
}

.setup-country-purchase,
.setup-country-name {
    display: flex;
    align-items: center;
    justify-content: center;
}

.setup-country-purchase {
    flex-direction: column;
}

.setup-country-name {
    gap: 0.6rem;
}

.setup-country-name img {
    flex: 0 0 2rem;
    object-fit: contain;
}

.setup-country-purchase-label {
    display: block;
    margin-top: 0.55rem;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.3;
}

.setup-country-guide {
    display: block;
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid #eeeeef;
    font-size: 0.8rem;
    line-height: 1.3;
}

@media screen and (max-width: 39.9375em) {
    .setup-comparison-actions {
        display: block;
    }

    .setup-comparison-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.65rem;
    }
}

/* Service detail pages */
.service-detail {
    padding-bottom: 2.5rem;
}

.service-detail-hero {
    padding-top: 2rem;
    padding-bottom: 2.75rem;
}

.service-detail-icon {
    margin-bottom: 1rem;
    object-fit: contain;
}

.service-detail-hero .lead,
.service-detail-section > .text-center > p,
.service-detail-final p {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.service-detail-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.service-detail-actions .button {
    margin: 0;
}

.service-detail-section {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
    border-top: 1px solid #eeeeef;
}

.service-detail-capabilities {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    max-width: 60rem;
    margin: 1.75rem auto 0;
    list-style: none;
}

.service-detail-capabilities li {
    display: flex;
    align-items: center;
    min-height: 3.5rem;
    margin: 0;
    padding: 0.8rem 1rem;
    border: 1px solid #ddd5f2;
    border-radius: 0.5rem;
    background: #f7f4fd;
    color: #433075;
    font-weight: 600;
}

.service-detail-capabilities li span {
    display: inline-flex;
    flex: 0 0 1.6rem;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.65rem;
    border-radius: 50%;
    background: #e8f7ee;
    color: #17763b;
}

.service-detail-availability-note {
    max-width: 60rem;
    margin: 1rem auto 0;
    padding: 1rem 1.125rem;
    border-left: 0.25rem solid #d6a328;
    border-radius: 0.25rem;
    background: #fff9e8;
    color: #5f4b1f;
}

.service-detail-step-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.75rem;
}

.service-detail-step-grid .column {
    display: flex;
}

.service-detail-step {
    display: flex;
    flex: 1 1 auto;
    align-items: flex-start;
    width: 100%;
    padding: 1.25rem;
    border: 1px solid #e8e8eb;
    border-radius: 0.625rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.service-detail-step > span {
    display: inline-flex;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-right: 0.75rem;
    border-radius: 50%;
    background: #7b57d1;
    color: #ffffff;
    font-weight: 700;
}

.service-detail-step p {
    margin: 0;
}

.service-detail-number-types {
    max-width: 60rem;
    margin: 1.5rem auto;
    text-align: center;
}

.service-detail-country-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    max-width: 68rem;
    margin: 1.75rem auto;
    list-style: none;
}

.service-detail-country-links li {
    display: flex;
    margin: 0;
}

.service-detail-country-links a {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    padding: 0.75rem 0.875rem;
    border: 1px solid #e8e8eb;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 0.125rem 0.5rem rgba(30, 24, 48, 0.05);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
}

.service-detail-country-links a:hover,
.service-detail-country-links a:focus {
    border-color: #bba9e4;
    background: #f7f4fd;
}

.service-detail-country-links img {
    flex: 0 0 1.875rem;
    margin-right: 0.65rem;
    object-fit: contain;
}

.service-detail-number-types ul {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 0 0 0.75rem;
    list-style: none;
}

.service-detail-number-types li {
    margin: 0;
    padding: 0.35rem 0.7rem;
    border: 1px solid #d9d9dd;
    border-radius: 999px;
    background: #f7f7f9;
    color: #4d4d54;
    font-size: 0.85rem;
    font-weight: 600;
}

.service-detail-search {
    max-width: 68rem;
    margin: 0 auto 1rem;
    padding: 1.25rem 1.25rem 0.25rem;
    border: 1px solid #e8e8eb;
    border-radius: 0.625rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.service-detail-related-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.75rem;
}

.service-detail-related-grid .column {
    display: flex;
}

.service-detail-related-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    padding: 1.35rem;
    border: 1px solid #e8e8eb;
    border-radius: 0.625rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.service-detail-related-card h3 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 1.15rem;
}

.service-detail-related-card h3 img {
    flex: 0 0 2.75rem;
    object-fit: contain;
}

.service-detail-related-card p {
    color: #5f5f67;
}

.service-detail-related-card > a {
    margin-top: auto;
    font-weight: 600;
}

.service-detail-resource-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    max-width: 68rem;
    margin: 0 auto;
    padding: 1.5rem 1rem;
    border-top: 1px solid #eeeeef;
}

.service-detail-resource-links a {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.5rem 0.85rem;
    border: 1px solid #ddd5f2;
    border-radius: 999px;
    background: #f7f4fd;
    color: #433075;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.service-detail-resource-links a:hover,
.service-detail-resource-links a:focus {
    border-color: #9e83dc;
    background: #eee8fa;
}

.service-detail-final {
    padding-bottom: 1rem;
}

@media screen and (max-width: 63.9375em) {
    .service-detail-capabilities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-detail-country-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 39.9375em) {
    .service-detail-hero,
    .service-detail-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .service-detail-actions {
        display: block;
    }

    .service-detail-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .service-detail-capabilities {
        grid-template-columns: 1fr;
    }

    .service-detail-country-links {
        grid-template-columns: 1fr;
    }

    .service-detail-number-types ul {
        display: flex;
        margin: 0.75rem 0 0;
    }

    .service-detail-search {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* Support content heading scale */
.support-learn-category-title,
.support-article-content h2 {
    font-size: 1.5rem;
}

.support-article-content h2 {
    margin-top: 1.75rem;
}

.support-article-content h3 {
    margin-top: 1.25rem;
    font-size: 1.15rem;
}

/* Support help-center hub */
.support-hub-hero {
    padding: 3rem 0 2.5rem;
    background: linear-gradient(180deg, #f7f4fd 0%, #ffffff 100%);
}

.support-hub-hero .lead {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.support-hub-search {
    max-width: 42rem;
    margin: 1.5rem auto 1rem;
}

.support-hub-search .search-form {
    margin-bottom: 0;
}

.support-hub-quick-links,
.support-hub-contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.support-hub-quick-links .button,
.support-hub-contact-actions .button {
    margin: 0;
}

.support-hub-section {
    padding: 2.75rem 0;
}

.support-hub-section h2 {
    margin-bottom: 1.5rem;
}

.support-hub-topic-grid,
.support-hub-download-grid {
    display: flex;
    flex-wrap: wrap;
}

.support-hub-topic-grid .column,
.support-hub-download-grid .column {
    display: flex;
}

.support-hub-topic-card {
    display: block;
    width: 100%;
    padding: 1.35rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
    color: #33333a;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.support-hub-topic-card:hover,
.support-hub-topic-card:focus-within {
    border-color: #9e83dc;
    box-shadow: 0 0.45rem 1.25rem rgba(65, 43, 112, 0.12);
    color: #33333a;
    transform: translateY(-2px);
}

.support-hub-topic-card h2 {
    margin-bottom: 0.65rem;
    font-size: 1.2rem;
}

.support-hub-topic-card h2 a {
    color: #433075;
}

.support-hub-topic-card p {
    margin-bottom: 0;
    color: #5f5f67;
}

.support-hub-popular,
.support-hub-apps {
    background: #f8f8fa;
}

.support-hub-guide-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1.5rem;
    list-style: none;
}

.support-hub-guide-list li {
    margin: 0;
}

.support-hub-guide-list a {
    display: block;
    height: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid #e6e6ea;
    border-radius: 0.5rem;
    background: #ffffff;
    font-weight: 600;
}

.support-hub-contact p {
    max-width: 44rem;
    margin-right: auto;
    margin-left: auto;
}

.support-hub-question-form {
    display: none;
    margin-top: 1.5rem;
}

.support-hub-video .responsive-embed {
    max-width: 56rem;
    margin: 1.5rem auto 0;
    border-radius: 0.65rem;
    box-shadow: 0 0.4rem 1.25rem rgba(30, 24, 48, 0.1);
    overflow: hidden;
}

.support-hub-download-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 9rem;
    padding: 1.2rem;
    border: 1px solid #e6e6ea;
    border-radius: 0.65rem;
    background: #ffffff;
    text-align: center;
}

.support-hub-download-card img {
    max-height: 3.25rem;
    margin-bottom: 0.75rem;
}

button.accordion-title {
    width: 100%;
    margin: 0;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

@media screen and (max-width: 39.9375em) {
    .support-hub-hero,
    .support-hub-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .support-hub-quick-links,
    .support-hub-contact-actions {
        display: block;
    }

    .support-hub-quick-links .button,
    .support-hub-contact-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .support-hub-guide-list {
        grid-template-columns: 1fr;
    }
}
/* Support guides overview */
.support-learn-hero {
    padding: 3rem 0 2.5rem;
    background: linear-gradient(180deg, #f7f4fd 0%, #ffffff 100%);
}

.support-learn-hero .lead {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.support-learn-search {
    max-width: 42rem;
    margin: 1.5rem auto 1rem;
}

.support-learn-search .search-form {
    margin-bottom: 0;
}

.support-learn-quick-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.25rem;
    margin-top: 1rem;
}

.support-learn-quick-links a {
    font-weight: 600;
}

.support-learn-section {
    padding: 2.75rem 0;
}

.support-learn-section > .row:first-child h2 {
    margin-bottom: 1.5rem;
}

.support-learn-featured {
    background: #f8f8fa;
}

.support-learn-featured-grid,
.support-learn-topic-grid {
    display: flex;
    flex-wrap: wrap;
}

.support-learn-featured-grid .column,
.support-learn-topic-grid .column {
    display: flex;
}

.support-learn-featured-card,
.support-learn-topic-card {
    width: 100%;
    padding: 1.35rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.support-learn-featured-card {
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.support-learn-featured-card:hover,
.support-learn-featured-card:focus-within {
    border-color: #9e83dc;
    box-shadow: 0 0.45rem 1.25rem rgba(65, 43, 112, 0.12);
    transform: translateY(-2px);
}

.support-learn-featured-card h3,
.support-learn-topic-card h3 {
    margin-bottom: 0.65rem;
    font-size: 1.2rem;
}

.support-learn-featured-card h3 a,
.support-learn-topic-card h3 {
    color: #433075;
}

.support-learn-featured-card p {
    margin-bottom: 0;
    color: #5f5f67;
}

.support-learn-topic-card ul {
    margin: 0;
    list-style: none;
}

.support-learn-topic-card li + li {
    border-top: 1px solid #ece9f1;
}

.support-learn-topic-card a {
    display: block;
    position: relative;
    padding: 0.7rem 1.25rem 0.7rem 0;
    line-height: 1.35;
}

.support-learn-topic-card a::after {
    position: absolute;
    top: 0.7rem;
    right: 0;
    content: "\203A";
    color: #8a71c4;
    font-size: 1.2rem;
    line-height: 1;
}

@media screen and (max-width: 39.9375em) {
    .support-learn-hero,
    .support-learn-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}
/* Support FAQ */
.faq-hero .faq-search {
    margin-bottom: 1.25rem;
}

.faq-topic-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
}

.faq-topic-nav a {
    padding: 0.55rem 0.9rem;
    border: 1px solid #dcd4eb;
    border-radius: 999px;
    background: #ffffff;
    color: #433075;
    font-size: 0.875rem;
    font-weight: 600;
}

.faq-topic-nav a:hover,
.faq-topic-nav a:focus {
    border-color: #8a71c4;
    background: #f5f1fb;
}

.faq-content {
    padding: 2.75rem 0;
}

.faq-guides {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    padding: 1.35rem 1.5rem;
    border: 1px solid #ded8e8;
    border-radius: 0.65rem;
    background: #f8f8fa;
}

.faq-guides h2 {
    margin-bottom: 0.4rem;
    font-size: 1.3rem;
}

.faq-guides p,
.faq-guides .button {
    margin-bottom: 0;
}

.faq-section {
    margin-bottom: 2.5rem;
    scroll-margin-top: 1.5rem;
}

.faq-page .faq-section-title {
    margin-bottom: 1rem;
    color: #33333a;
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: none;
}

.faq-page .section-content {
    padding-left: 0;
}

.faq-page .accordion {
    margin: 0;
    border: 0;
    background: transparent;
}

.faq-page .accordion-item {
    margin-bottom: 0.65rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 0.2rem 0.75rem rgba(30, 24, 48, 0.05);
    overflow: hidden;
}

.faq-page button.accordion-title {
    padding: 1rem 2.75rem 1rem 1.1rem;
    border: 0;
    color: #433075;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
}

.faq-page .accordion-title::before {
    right: 1.1rem;
}

.faq-page .accordion-content {
    padding: 1rem 1.1rem;
    border: 0;
    border-top: 1px solid #ece9f1;
    color: #4f4f57;
}

.faq-page .accordion-content p:last-child {
    margin-bottom: 0;
}

.faq-page .responsive-embed {
    margin-top: 1rem;
    border-radius: 0.5rem;
    overflow: hidden;
}

@media screen and (max-width: 39.9375em) {
    .faq-content {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .faq-topic-nav {
        justify-content: flex-start;
    }

    .faq-guides {
        display: block;
    }

    .faq-guides .button {
        display: block;
        width: 100%;
        margin-top: 1rem;
    }
}
/* SMS verification landing */
.sms-verification-hero {
    padding: 3.25rem 0;
    background: linear-gradient(135deg, #f7f4fd 0%, #ffffff 70%);
}

.sms-verification-hero h1 {
    margin-bottom: 0.8rem;
}

.sms-verification-hero .lead {
    max-width: 46rem;
    margin-right: auto;
    margin-left: auto;
    color: #5f5f67;
}

.sms-verification-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.sms-verification-actions .button {
    margin: 0;
}

.sms-verification-illustration {
    margin-bottom: 1.25rem;
}

.sms-verification-illustration img {
    width: 100%;
    max-width: 10rem;
    height: auto;
}

.sms-verification-section {
    padding: 2.75rem 0;
}

.sms-verification-section h2 {
    margin-bottom: 1rem;
}

.sms-verification-overview h2,
.sms-verification-overview > .row > .columns > .sms-verification-copy > h2 {
    color: #33333a;
}

.sms-verification-copy > h2 {
    margin-top: 2rem;
    font-size: 1.4rem;
}

.sms-verification-copy > p {
    color: #4f4f57;
}

.sms-verification-availability,
.sms-verification-numbers {
    background: #f8f8fa;
}

.sms-verification-notice {
    padding: 1.4rem 1.5rem;
    border-left: 4px solid #8a71c4;
    border-radius: 0.45rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.sms-verification-notice h2 {
    font-size: 1.35rem;
}

.sms-verification-notice p {
    margin-bottom: 0.8rem;
}

.sms-verification-text-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
}

.sms-verification-text-links a {
    font-weight: 600;
}

.sms-verification-services p {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
}

.sms-verification-service-filter {
    position: relative;
    max-width: 38rem;
    margin: 1.5rem auto;
}

.sms-verification-service-filter input {
    margin-bottom: 0;
    padding-right: 3rem;
}

.sms-verification-service-filter span {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1.25rem;
    height: 1.25rem;
    pointer-events: none;
    transform: translateY(-50%);
}

.sms-verification-service-filter svg {
    width: 100%;
    height: 100%;
}

.sms-verification-service-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
}

.sms-verification-service-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid #ded8e8;
    border-radius: 999px;
    background: #ffffff;
    color: #433075;
    font-weight: 600;
    line-height: 1.2;
}

.sms-verification-service-link:hover,
.sms-verification-service-link:focus {
    border-color: #8a71c4;
    background: #f5f1fb;
    color: #433075;
}

.sms-verification-numbers > .row > .columns > p {
    max-width: 50rem;
}

.sms-verification-numbers .search-numbers {
    margin-top: 1.5rem;
    padding: 1.35rem 1.25rem 0.1rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.sms-verification-numbers .search-numbers .small-up-1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 1rem;
}

.sms-verification-numbers .search-numbers .column {
    width: auto;
    padding: 0;
    float: none;
}

.sms-verification-numbers .search-numbers .column-block > br {
    display: none;
}

.sms-verification-feature-card {
    padding: 1.5rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.06);
}

.sms-verification-feature-card h2 {
    font-size: 1.35rem;
}

.sms-verification-feature-card p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 39.9375em) {
    .sms-verification-hero,
    .sms-verification-section {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }


    .sms-verification-actions {
        display: block;
    }

    .sms-verification-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .sms-verification-service-grid,
    .sms-verification-numbers .search-numbers .small-up-1 {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sms-verification-service-link {
        justify-content: center;
        border-radius: 0.5rem;
        text-align: center;
    }
}

/* Country comparison for virtual phone numbers */
.around-world-page {
    color: #33333a;
}

.around-world-hero {
    padding: 3.5rem 0;
    background: linear-gradient(135deg, #f4f0fb 0%, #ffffff 72%);
}

.around-world-hero h1 {
    max-width: 48rem;
}

.around-world-hero .lead {
    max-width: 50rem;
    color: #5f5f67;
}

.around-world-illustration img {
    width: 100%;
    max-width: 11.25rem;
    height: auto;
}

.around-world-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.35rem;
}

.around-world-actions .button {
    margin: 0;
}

.around-world-guide-link {
    margin: 1rem 0 0;
}

.around-world-section {
    padding: 3rem 0;
}

.around-world-section h2 {
    margin-bottom: 1rem;
}

.around-world-how,
.around-world-fields,
.around-world-choosing {
    background: #ffffff;
}

.around-world-how > .row > .columns > p,
.around-world-directory > .row > .columns > p,
.around-world-types p,
.around-world-choosing p {
    max-width: 56rem;
    color: #4f4f57;
}

.around-world-directory > .row > .text-center > p,
.around-world-fields > .row > .text-center > p {
    margin-right: auto;
    margin-left: auto;
}

.around-world-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
    padding: 0;
    counter-reset: around-world-step;
    list-style: none;
}

.around-world-steps li {
    position: relative;
    min-height: 8rem;
    padding: 3.4rem 1.25rem 1.25rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.05);
    counter-increment: around-world-step;
}

.around-world-steps li::before {
    position: absolute;
    top: 1rem;
    left: 1.25rem;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: #6d52aa;
    color: #ffffff;
    content: counter(around-world-step);
    font-weight: 700;
    line-height: 1.8rem;
    text-align: center;
}

.around-world-notice {
    padding: 1.25rem 1.4rem;
    border-left: 4px solid #d59a54;
    border-radius: 0.45rem;
    background: #fffaf3;
}

.around-world-notice p {
    margin: 0.35rem 0 0;
}

.around-world-directory,
.around-world-types {
    background: #f8f8fa;
}

.around-world-filter-panel {
    margin: 1.75rem 0 1rem;
    padding: 1.5rem;
    border: 1px solid #ded8e8;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: 0 0.3rem 1.2rem rgba(30, 24, 48, 0.06);
}

.around-world-filter-panel > label,
.around-world-filter-panel legend {
    color: #33333a;
    font-weight: 700;
}

.around-world-filter-panel input[type='search'] {
    margin-bottom: 1.25rem;
}

.around-world-filter-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.around-world-filter-groups fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.around-world-filter-groups legend {
    margin-bottom: 0.5rem;
}

.around-world-filter-groups label {
    display: block;
    margin-bottom: 0.35rem;
    color: #4f4f57;
}

.around-world-filter-groups input {
    margin: 0 0.35rem 0 0;
}

.around-world-reset {
    margin: 1rem 0 0;
}

.around-world-result-count {
    margin: 1rem 0;
    color: #5f5f67;
    font-weight: 600;
}

.around-world-country-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.around-world-country-card {
    display: flex;
    min-width: 0;
    padding: 1.25rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.7rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.05);
    flex-direction: column;
}

.around-world-country-card[hidden] {
    display: none;
}

.around-world-country-card header {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ece9f0;
}

.around-world-country-card .flag {
    width: 2.625rem;
    height: 2.625rem;
    object-fit: contain;
    flex: 0 0 auto;
}

.around-world-country-card h3 {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.25;
}

.around-world-phone-code {
    color: #6b6b73;
    font-size: 0.9rem;
}

.around-world-country-details {
    padding: 1rem 0 0.75rem;
}

.around-world-country-details h4 {
    margin: 0.75rem 0 0.45rem;
    color: #55515e;
    font-size: 0.82rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.around-world-country-details h4:first-child {
    margin-top: 0;
}

.around-world-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    list-style: none;
}

.around-world-badges li {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: #eee9f6;
    color: #4d3b78;
    font-size: 0.78rem;
    line-height: 1.25;
}

.around-world-capability-badges li {
    background: #edf6f0;
    color: #356248;
}

.around-world-regulation {
    margin-top: auto;
    padding: 0.85rem;
    border-radius: 0.45rem;
    background: #f7f6f9;
}

.around-world-regulation strong,
.around-world-regulation span,
.around-world-regulation small {
    display: block;
}

.around-world-regulation span {
    margin-top: 0.2rem;
}

.around-world-regulation small {
    margin-top: 0.35rem;
    color: #6b6b73;
}

.around-world-country-links {
    margin-top: 1rem;
}

.around-world-country-links .button {
    display: block;
    width: 100%;
    margin: 0 0 0.7rem;
}

.around-world-country-links > a:last-child {
    display: inline-block;
    line-height: 1.35;
}

.around-world-no-results {
    padding: 1.5rem;
    border-radius: 0.6rem;
    background: #ffffff;
    text-align: center;
}

.around-world-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.around-world-info-card {
    padding: 1.4rem;
    border: 1px solid #e5e1ed;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(30, 24, 48, 0.05);
}

.around-world-info-card h3 {
    font-size: 1.2rem;
}

.around-world-info-card p {
    margin-bottom: 0;
    color: #4f4f57;
}

.around-world-explanation-list,
.around-world-checklist {
    margin: 1.25rem 0;
}

.around-world-explanation-list li,
.around-world-checklist li {
    margin-bottom: 0.7rem;
}

.around-world-final {
    background: linear-gradient(135deg, #ffffff 0%, #f4f0fb 100%);
}

.around-world-final p {
    max-width: 52rem;
    margin-right: auto;
    margin-left: auto;
    color: #4f4f57;
}

.around-world-final .around-world-actions {
    justify-content: center;
}

@media screen and (max-width: 63.9375em) {
    .around-world-filter-groups,
    .around-world-country-grid,
    .around-world-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 39.9375em) {
    .around-world-hero,
    .around-world-section {
        padding-top: 2.25rem;
        padding-bottom: 2.25rem;
    }

    .around-world-hero,
    .around-world-hero h1,
    .around-world-hero .lead {
        text-align: center;
    }

    .around-world-illustration {
        margin-top: 2rem;
    }

    .around-world-actions {
        display: block;
    }

    .around-world-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .around-world-steps,
    .around-world-filter-groups,
    .around-world-country-grid,
    .around-world-info-grid {
        grid-template-columns: 1fr;
    }

    .around-world-steps li {
        min-height: 0;
    }

    .around-world-filter-panel,
    .around-world-country-card {
        padding: 1rem;
    }
}

/* Free Phone */
.free-phone-hero {
    margin-bottom: 0;
    background: #010118;
}

.free-phone-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

.free-phone-hero h1 {
    min-height: 0;
}

.free-phone-hero .lead {
    max-width: 40rem;
    margin-bottom: 1.25rem;
    padding-right: 0;
}

.free-phone-hero-links,
.free-phone-hero-notice {
    margin-bottom: 0;
}

.free-phone-hero-notice {
    padding: 0.875rem 1rem;
    border: 1px solid #fff;
    border-left: 4px solid #6fe3a1;
    border-radius: 0.4rem;
    background: #fff;
    color: #10103a;
    font-weight: 600;
}

.free-phone-hero-side {
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.07);
}

.free-phone-hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 1rem;
}

.free-phone-hero .free-phone-hero-actions .button {
    width: 100%;
    margin: 0;
}

.free-phone-hero-links a,
.free-phone-hero-login {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.free-phone-hero-login {
    display: block;
    margin: 0.25rem 0 0;
    text-align: center;
}

.free-phone-tools {
    padding-top: 1.5rem;
}

.free-phone-wallet-card,
.free-phone-tool-panel,
.free-phone-instructions > section {
    border: 1px solid #e3e3ed;
    border-radius: 0.5rem;
    background: #fff;
}

.free-phone-preview-actions .button,
.free-phone-wallet-card p:last-child,
.free-phone-privacy-warning p:last-child,
.free-phone-empty-state {
    margin-bottom: 0;
}

.free-phone-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.free-phone-account-preview {
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    border: 1px solid #e3e3ed;
    border-radius: 0.5rem;
    background: #f8f8fc;
}

.free-phone-account-preview > p:first-child {
    margin-bottom: 1rem;
}

.free-phone-account-preview .callout {
    margin-bottom: 0;
}

.free-phone-wallet-card {
    margin-bottom: 1.25rem;
    padding: 1.25rem;
}

.free-phone-status-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.free-phone-status-grid .free-phone-wallet-card,
.free-phone-status-grid .free-phone-account-preview {
    margin-bottom: 0;
}

.free-phone-wallet-card > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.free-phone-wallet-balance {
    font-size: 1.125rem;
    font-weight: 700;
}

.free-phone-privacy-warning {
    margin-bottom: 1.25rem;
}

.free-phone-privacy-warning > strong {
    display: block;
    margin-bottom: 0.5rem;
}

.free-phone-tool-nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.free-phone-tool-nav a {
    display: block;
    padding: 0.75rem 1rem;
    border: 1px solid #d8d8e5;
    border-radius: 0.4rem;
    background: #fff;
    color: #20204e;
    font-weight: 700;
    text-align: center;
}

.free-phone-tool-nav a:hover,
.free-phone-tool-nav a:focus,
.free-phone-tool-nav a[aria-selected='true'] {
    border-color: #010118;
    background: #010118;
    color: #fff;
}

.free-phone-tool-panel {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
}

.free-phone-tool-panel:focus {
    outline: 2px solid #4d90fe;
    outline-offset: 2px;
}

.free-phone-tool-section + .free-phone-tool-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #e3e3ed;
}

.free-phone-instructions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.free-phone-instructions > section {
    padding: 1rem;
    background: #f8f8fc;
}

.free-phone-instructions h4 {
    margin-bottom: 0.75rem;
}

.free-phone-instructions ol {
    margin-bottom: 0;
}

.free-phone-empty-state {
    width: 100%;
}

.free-phone-guide {
    padding-top: 1.5rem;
}

.free-phone-guide-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

.free-phone-guide-column + .free-phone-guide-column {
    padding-top: 1.5rem;
    border-top: 1px solid #e3e3ed;
}

.free-phone-guide-section + .free-phone-guide-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e3e3ed;
}

.free-phone-guide-section h2 {
    margin-bottom: 0.65rem;
    font-size: 1.25rem;
}

.free-phone-guide-section p:last-child,
.free-phone-guide-service p {
    margin-bottom: 0;
}

.free-phone-guide-services {
    margin-top: 1rem;
}

.free-phone-guide-service + .free-phone-guide-service {
    margin-top: 0.75rem;
}

.free-phone-guide-service h3 {
    margin-bottom: 0.2rem;
    font-size: 1rem;
}

.free-phone-faq-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.free-phone-get-started,
.free-phone-faq {
    margin-top: 1.5rem;
}

.free-phone-get-started h2 {
    margin-bottom: 0;
}

.free-phone-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    counter-reset: free-phone-step;
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}

.free-phone-steps li {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: start;
    gap: 0.875rem;
    min-height: 5rem;
    margin: 0;
    padding: 1rem;
    border: 1px solid #e3e3ed;
    border-radius: 0.5rem;
    background: #f8f8fc;
    line-height: 1.5;
    counter-increment: free-phone-step;
}

.free-phone-steps li::before {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #010118;
    color: #fff;
    font-weight: 700;
    content: counter(free-phone-step);
}

.free-phone-faq details {
    margin-bottom: 0;
    border: 1px solid #e3e3ed;
    border-radius: 0.5rem;
    background: #fff;
}

.free-phone-faq summary {
    padding: 1rem 1.25rem;
    color: #20204e;
    font-weight: 700;
    cursor: pointer;
}

.free-phone-faq details[open] summary {
    border-bottom: 1px solid #e3e3ed;
}

.free-phone-faq details > p {
    margin: 0;
    padding: 1rem 1.25rem;
}

@media screen and (max-width: 39.9375em) {
    .free-phone-hero .cta-button,
    .free-phone-preview-actions .button {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .free-phone-hero-login {
        display: block;
        margin-left: 0;
    }

    .free-phone-preview-actions {
        display: block;
    }

    .free-phone-tool-panel,
    .free-phone-wallet-card {
        padding: 1rem;
    }
}

@media screen and (min-width: 40em) {
    .free-phone-hero-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
        align-items: center;
        gap: 2.5rem;
    }

    .free-phone-tool-nav,
    .free-phone-guide-grid,
    .free-phone-faq-list,
    .free-phone-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .free-phone-guide-column + .free-phone-guide-column {
        padding-top: 0;
        padding-left: 2rem;
        border-top: 0;
        border-left: 1px solid #e3e3ed;
    }

    .free-phone-status-grid.has-account-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .free-phone-tool-nav {
        display: grid;
    }

    .free-phone-instructions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* eSIM travel landing hero */
.esim-hero {
    margin-bottom: 2.5rem;
    padding: 3.75rem 0 3.25rem;
    background: linear-gradient(135deg, #f8f7fe 0%, #eee9fb 55%, #f4fbf7 100%);
}

.esim-hero-eyebrow {
    margin-bottom: 0.75rem;
    color: #7053b8;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.esim-hero h1 {
    max-width: 58rem;
    margin: 0 auto 1rem;
}

.esim-hero-intro {
    max-width: 52rem;
    margin: 0 auto 1.5rem;
    color: #4f4f63;
}

.esim-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.esim-hero-actions .button {
    margin: 0;
}

.esim-plan-notice {
    max-width: 46rem;
    margin: 0 auto 1.5rem;
    color: #5f4b1f;
    font-size: 0.875rem;
}

.esim-hero-search-panel {
    max-width: 42rem;
    margin: 0 auto;
    padding: 1.25rem;
    border: 1px solid #ddd5f2;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: 0 0.5rem 1.5rem rgba(47, 45, 97, 0.08);
    text-align: left;
}

.esim-hero-search label {
    margin-bottom: 0.5rem;
    color: #2f2d61;
    font-weight: 700;
}

.esim-hero-search-control {
    display: flex;
}

.esim-hero-search-control input {
    min-width: 0;
    margin: 0;
    border-radius: 0.35rem 0 0 0.35rem;
}

.esim-hero-search-control button {
    display: flex;
    flex: 0 0 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 0 0.35rem 0.35rem 0;
    background: #2f2d61;
}

.esim-hero-search-control button svg {
    width: 1.15rem;
    height: 1.15rem;
}

.esim-regional-hero {
    margin-bottom: 2rem;
    padding-top: 2.75rem;
    padding-bottom: 2.5rem;
}

.esim-regional-hero .esim-hero-search-panel {
    margin-bottom: 1rem;
}

.esim-regional-hero .esim-plan-notice {
    margin-bottom: 0;
}

.esim-regional-result-count {
    margin-bottom: 1rem;
    color: #4f4f63;
}

.esim-global-hero {
    margin-bottom: 2rem;
    padding-top: 2.75rem;
    padding-bottom: 2.5rem;
}

.esim-global-device-note {
    max-width: 48rem;
    margin: 0.75rem auto 0;
    color: #4f4f63;
}

.esim-howto-hero {
    margin-bottom: 1.5rem;
    padding-top: 2.75rem;
    padding-bottom: 2.5rem;
}

.esim-howto-contents,
.esim-howto-section,
.esim-howto-related {
    margin-bottom: 2.5rem;
}

.esim-howto-contents ul,
.esim-howto-related-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin: 0;
    list-style: none;
}

.esim-howto-contents a {
    display: block;
    padding: 0.85rem 1rem;
    border: 1px solid #dedcf0;
    border-radius: 0.5rem;
    background: #ffffff;
    text-align: center;
}

.esim-howto-check-grid,
.esim-howto-guidance-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-left: 0;
    list-style: none;
}

.esim-howto-check-grid li,
.esim-howto-guidance-list li,
.esim-howto-steps li,
.esim-howto-troubleshooting-list li {
    padding: 1rem;
    border: 1px solid #e3dff0;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 0.2rem 0.75rem rgba(47, 45, 97, 0.05);
}

.esim-howto-steps,
.esim-howto-troubleshooting-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-left: 0;
    list-style-position: inside;
}

.esim-howto-related-grid .button {
    margin: 0;
}

.esim-compatible-hero {
    margin-bottom: 1.5rem;
    padding-top: 2.75rem;
    padding-bottom: 2.5rem;
}

.esim-compatible-section,
.esim-compatible-related {
    margin-bottom: 2.75rem;
}

.esim-compatible-directory-intro {
    max-width: 62rem;
    margin-right: auto;
    margin-left: auto;
}

.esim-compatible-search label {
    margin-bottom: 0.5rem;
    font-weight: 700;
}

.esim-compatible-search-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

.esim-compatible-search-controls input,
.esim-compatible-search-controls .button {
    margin: 0;
}

.esim-compatible-result-count {
    margin-top: 0.75rem;
    color: #4f4f63;
    font-weight: 700;
}

.esim-compatible-brand-index {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    max-width: 72rem;
    margin: 1.5rem auto;
}

.esim-compatible-brand-index a {
    padding: 0.45rem 0.75rem;
    border: 1px solid #dedcf0;
    border-radius: 2rem;
    background: #ffffff;
}

.esim-compatible-brand-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.esim-compatible-brand-card {
    align-self: start;
    overflow: hidden;
    border: 1px solid #dedcf0;
    border-radius: 0.65rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(47, 45, 97, 0.07);
}

.esim-compatible-brand-card summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem;
    color: #2f2d61;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
}

.esim-compatible-brand-card summary small {
    color: #68677a;
    font-size: 0.85rem;
    font-weight: 400;
    white-space: nowrap;
}

.esim-compatible-brand-card ul {
    margin: 0;
    padding: 0 1rem 1rem 2.25rem;
}

.esim-compatible-brand-card li {
    margin-bottom: 0.35rem;
}

.esim-compatible-verification-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-left: 0;
    list-style-position: inside;
}

.esim-compatible-verification-list li {
    padding: 1rem;
    border: 1px solid #e3dff0;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 0.2rem 0.75rem rgba(47, 45, 97, 0.05);
}

.esim-compatible-related-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

.esim-compatible-related-grid .button {
    margin: 0;
}

@media screen and (min-width: 40em) {
    .esim-howto-contents ul,
    .esim-howto-check-grid,
    .esim-howto-guidance-list,
    .esim-howto-steps,
    .esim-howto-troubleshooting-list,
    .esim-howto-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .esim-compatible-search-controls {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .esim-compatible-brand-grid,
    .esim-compatible-verification-list,
    .esim-compatible-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 64em) {
    .esim-howto-contents ul,
    .esim-howto-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .esim-compatible-brand-grid,
    .esim-compatible-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.esim-package-coverage-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #7053b8;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.esim-package-coverage-button:hover,
.esim-package-coverage-button:focus {
    color: #34246a;
}

.esim-package-inventory {
    margin-bottom: 1.25rem;
}

.esim-package-inventory details {
    margin-bottom: 0.75rem;
    border: 1px solid #dedcf0;
    border-radius: 0.5rem;
    background: #ffffff;
}

.esim-package-inventory summary {
    padding: 0.9rem 1rem;
    color: #302d61;
    font-weight: 700;
    cursor: pointer;
}

.esim-package-inventory-content {
    padding: 0 1rem 1rem;
}

.esim-package-inventory-content .callout {
    max-height: 15rem !important;
    margin-bottom: 0;
}

.esim-regional-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.esim-regional-card {
    min-width: 0;
}

.esim-regional-card-link {
    display: flex;
    height: 100%;
    min-height: 12rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    border: 1px solid #dedcf0;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 0.3rem 1rem rgba(47, 45, 97, 0.08);
    text-align: center;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.esim-regional-card-link:hover,
.esim-regional-card-link:focus {
    border-color: #c7c4e5;
    box-shadow: 0 0.45rem 1.25rem rgba(47, 45, 97, 0.13);
    transform: translateY(-2px);
}

.esim-regional-card-link img {
    margin-bottom: 0.75rem;
}

.esim-regional-card-link h3 {
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.3;
}

.esim-regional-card-link p {
    margin: 0;
    color: #4f4f63;
    font-size: 0.875rem;
    line-height: 1.45;
}

@media screen and (min-width: 40em) {
    .esim-regional-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 64em) {
    .esim-regional-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .esim-regional-card-link {
        transition: none;
    }

    .esim-regional-card-link:hover,
    .esim-regional-card-link:focus {
        transform: none;
    }
}

.esim-plan-choices {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.esim-plan-choices-intro {
    max-width: 46rem;
    margin-right: auto;
    margin-bottom: 1.5rem;
    margin-left: auto;
    color: #4f4f63;
}

.esim-plan-choice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.esim-plan-choice-card {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid #e3dff0;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 1rem rgba(47, 45, 97, 0.06);
}

.esim-plan-choice-card h3 {
    margin-bottom: 0.75rem;
}

.esim-plan-choice-type {
    margin-bottom: 0.35rem;
    color: #7053b8;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.esim-plan-choice-best {
    margin-top: auto;
    padding-top: 0.25rem;
    color: #4f4f63;
}

.esim-plan-choice-card .button {
    display: block;
    width: 100%;
    margin: 0;
}

.esim-destination-group {
    scroll-margin-top: 1rem;
}

.esim-destination-card .bt-box-margin {
    padding: 1rem;
}

.esim-destination-card a {
    display: block;
    overflow-wrap: anywhere;
}

.esim-directory-disclosure {
    margin-bottom: 1.5rem;
}

.esim-directory-disclosure .button {
    margin-bottom: 0;
}

.esim-compare-guide {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.esim-compare-intro {
    max-width: 48rem;
    margin-right: auto;
    margin-bottom: 1.5rem;
    margin-left: auto;
    color: #4f4f63;
}

.esim-compare-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0;
    list-style: none;
}

.esim-compare-grid li {
    padding: 1rem;
    border: 1px solid #e3dff0;
    border-radius: 0.6rem;
    background: #ffffff;
    color: #4f4f63;
    line-height: 1.5;
}

.esim-compare-note {
    max-width: 52rem;
    margin: 1.25rem auto 0;
    padding: 0.9rem 1rem;
    border-left: 0.25rem solid #7053b8;
    background: #f7f4fd;
    color: #4f4f63;
}

.esim-purchase-steps {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.esim-purchase-steps-intro {
    max-width: 46rem;
    margin-right: auto;
    margin-bottom: 1.5rem;
    margin-left: auto;
    color: #4f4f63;
}

.esim-purchase-steps-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0;
    list-style: none;
    counter-reset: esim-purchase-step;
}

.esim-purchase-steps-list li {
    position: relative;
    min-height: 5rem;
    padding: 1rem 1rem 1rem 3.75rem;
    border: 1px solid #e3dff0;
    border-radius: 0.6rem;
    background: #ffffff;
    color: #4f4f63;
    line-height: 1.5;
    counter-increment: esim-purchase-step;
}

.esim-purchase-steps-list li::before {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #7053b8;
    color: #ffffff;
    font-weight: 700;
    content: counter(esim-purchase-step);
}

.esim-faq-intro {
    max-width: 46rem;
    margin-right: auto;
    margin-bottom: 1rem;
    margin-left: auto;
    color: #4f4f63;
}

.esim-faq-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.esim-faq-actions .button {
    margin: 0;
}

.esim-faq-list {
    max-width: 54rem;
    margin: 0 auto;
}

.esim-faq-list details {
    margin-bottom: 0.75rem;
    border: 1px solid #e3dff0;
    border-radius: 0.6rem;
    background: #ffffff;
}

.esim-faq-list summary {
    padding: 1rem 3rem 1rem 1rem;
    color: #2f2d61;
    font-weight: 700;
    cursor: pointer;
}

.esim-faq-list details[open] summary {
    border-bottom: 1px solid #e3dff0;
    background: #f7f4fd;
}

.esim-faq-list details p {
    margin: 0;
    padding: 1rem;
    color: #4f4f63;
}

@media screen and (min-width: 40em) {
    .esim-compare-grid,
    .esim-purchase-steps-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 64em) {
    .esim-plan-choice-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .esim-compare-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .esim-purchase-steps-list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .esim-purchase-steps-list li {
        min-height: 9rem;
        padding: 3.75rem 1rem 1rem;
    }

    .esim-purchase-steps-list li::before {
        right: 0;
        left: 0;
        margin: 0 auto;
    }
}

@media screen and (max-width: 39.9375em) {
    .esim-hero {
        padding: 2.5rem 0 2.25rem;
    }

    .esim-hero-actions {
        display: block;
    }

    .esim-hero-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .esim-hero-search-panel {
        padding: 1rem;
    }

    .esim-faq-actions {
        display: block;
    }

    .esim-faq-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }
}

/* Destination eSIM package hero and secondary coverage navigation */
.esim-package-hero {
    margin-bottom: 2rem;
    padding-top: 2.5rem;
    padding-bottom: 2.25rem;
}

.esim-package-hero-intro {
    max-width: 48rem;
    margin: 0 auto 1.5rem;
    color: #4f4f63;
}

.esim-package-plans {
    scroll-margin-top: 1.5rem;
}

.esim-package-plans > .columns:first-child {
    margin-bottom: 1rem;
}

.esim-package-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.esim-package-allowance-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 1rem;
}

.esim-package-allowance-tabs .tabs-title {
    float: none;
}

.esim-package-allowance-tabs .tabs-title > a {
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
}

.esim-package-allowance-content {
    border: 0;
    background: transparent;
}

.esim-package-allowance-content > .tabs-panel {
    padding: 0;
}

.esim-package-card-grid > .column {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

.esim-package-card,
.esim-package-card-inner {
    height: 100%;
}

.esim-package-card-inner {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    border: 1px solid #dedcf0;
    box-shadow: 0 0.3rem 1rem rgba(47, 45, 97, 0.1);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.esim-package-card:hover .esim-package-card-inner,
.esim-package-card:focus-within .esim-package-card-inner {
    border-color: #c7c4e5;
    box-shadow: 0 0.45rem 1.25rem rgba(47, 45, 97, 0.14);
    transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
    .esim-package-card-inner {
        transition: none;
    }

    .esim-package-card:hover .esim-package-card-inner,
    .esim-package-card:focus-within .esim-package-card-inner {
        transform: none;
    }
}

.esim-package-card-coverage {
    min-height: 2rem;
    margin-bottom: 0.75rem;
    color: #4f4f63;
    font-size: 0.875rem;
}

.esim-package-card h3 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
    line-height: 1.3;
}

.esim-package-card-details {
    margin: 0;
}

.esim-package-card-details > div {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #eeeaf6;
}

.esim-package-card-details dt,
.esim-package-card-details dd {
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
    white-space: normal;
}

.esim-package-card-details dt {
    color: #4f4f63;
    font-weight: 400;
}

.esim-package-card-details dd {
    margin: 0;
    color: #2f2d61;
    font-weight: 700;
    text-align: right;
}

.esim-package-activation-tooltip {
    border-bottom: 1px dotted currentColor;
    cursor: help;
}

.esim-package-card-details .esim-package-card-fair-use {
    display: block;
}

.esim-package-card-fair-use dd {
    margin-top: 0.25rem;
    color: #7a5815;
    font-weight: 400;
    text-align: left;
}

.esim-package-card-footer {
    margin-top: auto;
    padding-top: 1rem;
}

.esim-package-card-footer p {
    margin-bottom: 0.75rem;
    color: #2f2d61;
    font-size: 1.05rem;
}

.esim-package-card-footer .button {
    margin: 0;
}

.esim-package-crypto .callout {
    margin-bottom: 0;
    border-color: #ddd5f2;
    background: #f8f7fe;
}

.esim-package-crypto h2 {
    margin-bottom: 0.75rem;
}

.esim-package-crypto p {
    max-width: 48rem;
    margin: 0 auto;
    color: #4f4f63;
}

.esim-package-crypto-modal-note {
    margin: 0.75rem 0 0;
    color: #4f4f63;
    font-size: 0.875rem;
    line-height: 1.45;
}

.esim-package-purchase-summary h3 {
    margin-bottom: 0.25rem;
    font-size: 1.25rem;
}

.esim-package-purchase-summary > p {
    margin-bottom: 0.75rem;
}

.esim-package-purchase-summary dl {
    margin: 0;
}

.esim-package-purchase-summary dl > div {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(47, 45, 97, 0.12);
}

.esim-package-purchase-summary dt,
.esim-package-purchase-summary dd {
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.esim-package-purchase-summary dt {
    color: #4f4f63;
    font-weight: 400;
}

.esim-package-purchase-summary dd {
    margin: 0;
    font-weight: 700;
    text-align: right;
}

.esim-package-purchase-summary .esim-package-purchase-total {
    border-bottom: 0;
    font-size: 1.125rem;
}

.esim-package-purchase-summary .esim-package-crypto-modal-note {
    margin-bottom: 0;
    padding-top: 0.25rem;
}

.esim-package-compatibility-confirmation > strong {
    display: block;
    margin-bottom: 0.5rem;
}

.esim-package-compatibility-confirmation > p {
    margin-bottom: 0.5rem;
}

.esim-package-compatibility-confirmation .control {
    margin-top: 0.5rem;
}

.esim-package-partner {
    margin-top: 1.5rem;
    margin-bottom: 0;
    padding: 0.875rem 1rem;
}

.esim-package-partner > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    line-height: 1.25;
}

.esim-package-partner img {
    flex: 0 0 auto;
}

.esim-package-partner p {
    margin: 0.625rem 0 0;
    color: #4f4f63;
    font-size: 0.875rem;
}

.esim-package-other-coverage {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.esim-package-other-coverage p {
    max-width: 44rem;
    margin-right: auto;
    margin-bottom: 1.25rem;
    margin-left: auto;
    color: #4f4f63;
}

.esim-package-coverage-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.esim-package-coverage-actions .button {
    margin: 0;
}

@media screen and (max-width: 39.9375em) {
    .esim-package-hero {
        padding-top: 2rem;
        padding-bottom: 1.75rem;
    }

    .esim-package-coverage-actions {
        display: block;
    }

    .esim-package-coverage-actions .button {
        display: block;
        width: 100%;
        margin-bottom: 0.75rem;
    }
}

@media screen and (min-width: 40em) {
    .esim-package-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 64em) {
    .esim-package-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (min-width: 80em) {
    .esim-package-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* VirtualNumber frontend: scoped navigation, images and search feedback. */
body.vn-site [hidden] { display: none !important; }
body.vn-site img { height: auto; }
body.vn-site .vn-logo { display: inline-block; max-width: 100%; }
body.vn-site .vn-logo img { display: block; max-width: 100%; }
body.vn-site .vn-language-menu > li > a { padding: .5rem; }
body.vn-site .vn-language-menu .menu { max-height: min(70vh, 32rem); overflow-y: auto; min-width: 13rem; }
body.vn-site .vn-language-menu .menu a { white-space: nowrap; text-align: left; }
body.vn-site .vn-language-menu img { vertical-align: middle; }
body.vn-site .vn-breadcrumbs { padding-top: 1rem; padding-bottom: 0; }
body.vn-site .vn-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; font-size: .875rem; }
body.vn-site .vn-breadcrumbs li + li::before { content: '/'; margin-right: .5rem; }
body.vn-site .vn-notfound { padding-top: 3rem; padding-bottom: 4rem; }
body.vn-site .vn-search-status { min-height: 1.5em; margin: .25rem 0; font-size: .875rem; }
body.vn-site.vn-nav-open { overflow: hidden; }
body.vn-site .vn-nav-close { position: absolute; top: 1rem; right: 1rem; z-index: 2; width: 3rem; height: 3rem; font-size: 2rem; color: inherit; cursor: pointer; }
body.vn-site .burger-container { border: 0; background: transparent; cursor: pointer; }
body.vn-site .vn-mobile-overlay { position: fixed; inset: 0; z-index: 200; background: #3af062; color: #080717; overflow-y: auto; padding: 5rem 1.5rem 2rem; }
body.vn-site .vn-overlay-menu { max-width: 32rem; margin: 0 auto; }
body.vn-site .vn-overlay-menu ul { margin: 0; padding: 0; list-style: none; }
body.vn-site .vn-overlay-menu li { opacity: 1; }
body.vn-site .vn-overlay-menu a { display: block; padding: .75rem; font-size: 1.5rem; line-height: 1.4; color: inherit; }

/* VirtualNumber public pages: compact shared presentation, scoped away from Blacktel. */
body.vn-site.vn-design { --vn-ink: #17231b; --vn-muted: #5c685f; --vn-paper: #f7f8f3; --vn-line: #dce3d7; --vn-green: #28ec5c; margin: 0; background: var(--vn-paper); color: var(--vn-ink); font-family: "Archivo", "Helvetica Neue", Arial, sans-serif; }
body.vn-site.vn-design .vn-shell { width: min(calc(100% - 3.5rem), 1184px); margin-inline: auto; }
body.vn-site.vn-design .vn-main { overflow: clip; }
body.vn-site.vn-design .vn-main h1, body.vn-site.vn-design .vn-main h2, body.vn-site.vn-design .vn-main h3 { margin-top: 0; color: var(--vn-ink); font-family: inherit; font-weight: 750; text-wrap: balance; overflow-wrap: anywhere; }
body.vn-site.vn-design .vn-main h2 { margin-bottom: 24px; font-size: 29px; line-height: 1.2; letter-spacing: -.035em; }
body.vn-site.vn-design .vn-main p { line-height: 1.65; }
body.vn-site.vn-design .vn-main a { color: inherit; text-decoration: none; }
body.vn-site.vn-design .vn-main a:focus-visible, body.vn-site.vn-design button:focus-visible, body.vn-site.vn-design summary:focus-visible { outline: 3px solid #16723a; outline-offset: 4px; }
body.vn-site.vn-design .vn-main :target { scroll-margin-top: 100px; }
body.vn-site.vn-design .vn-home-skip { position: fixed; inset-block-start: 0; inset-inline-start: 1rem; transform: translateY(-150%); z-index: 300; padding: 1rem 1.5rem; background: var(--vn-ink); color: white; border-radius: 0 0 10px 10px; }
body.vn-site.vn-design .vn-home-skip:focus { transform: translateY(0); }
body.vn-site.vn-design .vn-home-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
body.vn-site.vn-design .main-header { position: sticky; inset-block-start: 0; z-index: 100; background: var(--vn-paper); border-bottom: 1px solid var(--vn-line); padding-block: 16px; }
body.vn-site.vn-design .main-header .grid-container { max-width: 1280px; }
body.vn-site.vn-design .main-header .vn-logo img { width: 210px; }
body.vn-site.vn-design .main-header .main-nav > li > a { font-size: 13px; font-weight: 550; padding: 10px 12px; }
body.vn-site.vn-design .main-header .main-nav > li:nth-last-child(2) > a { background: var(--vn-ink); color: white; border-radius: 8px; padding-inline: 15px; margin-inline: 5px; }
body.vn-site.vn-design .main-header .vn-language-menu > li > a { min-height: 44px; padding: 8px 24px 8px 8px; }
body.vn-site.vn-design .main-header .vn-language-menu .menu a { font-size: 14px; padding: 10px 14px; }
body.vn-site.vn-design .main-header .button { font-size: 13px; padding: 13px 16px; border-radius: 8px; margin: 0; background: transparent; border: 1px solid var(--vn-line); color: var(--vn-ink); }
body.vn-site.vn-design .main-header .burger-container { position: relative; inset: auto; width: 42px; height: 44px; }
body.vn-site.vn-design .main-header .burger-container > span { position: absolute; inset-inline-start: 5px; width: 32px; height: 3px; border-radius: 3px; background: var(--vn-ink); }
body.vn-site.vn-design .main-header .burger-top { top: 11px; }
body.vn-site.vn-design .main-header .burger-middle { top: 21px; }
body.vn-site.vn-design .main-header .burger-bottom { top: 31px; }
body.vn-site.vn-design .vn-breadcrumbs { width: min(calc(100% - 3.5rem), 1184px); padding: 20px 0 0; font-size: 12px; }
body.vn-site.vn-design .vn-breadcrumbs ol { font-size: 12px; color: var(--vn-muted); }
body.vn-site.vn-design .vn-breadcrumbs li + li::before { margin-right: 0; margin-inline-end: .5rem; }
body.vn-site.vn-design .vn-breadcrumbs a { color: inherit; }
body.vn-site.vn-design .vn-hero { padding-block: 36px 24px; }
body.vn-site.vn-design .vn-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 48px; min-height: 340px; }
body.vn-site.vn-design .vn-hero h1 { margin: 0 0 20px; font-size: clamp(44px, 4.8vw, 64px); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
body.vn-site.vn-design .vn-lead { max-width: 460px; margin: 0 0 24px; font-size: 17px; color: var(--vn-muted); }
body.vn-site.vn-design .vn-hero-art { width: min(100%, 440px); justify-self: end; }
body.vn-site.vn-design .vn-hero-art img { display: block; width: 100%; }
body.vn-site.vn-design .vn-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 13px; color: var(--vn-muted); }
body.vn-site.vn-design .vn-kicker img { width: 28px; height: 20px; object-fit: cover; border-radius: 3px; }
body.vn-site.vn-design .vn-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 9px; font: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; cursor: pointer; transition: background-color .15s, border-color .15s; }
body.vn-site.vn-design .vn-button-primary { background: var(--vn-green); color: var(--vn-ink); }
body.vn-site.vn-design .vn-button-primary:hover { background: #4cf379; }
body.vn-site.vn-design .vn-button-outline { border-color: #cbd5c5; background: transparent; color: var(--vn-ink); }
body.vn-site.vn-design .vn-button-outline:hover { background: #edf4e8; border-color: #789970; }
body.vn-site.vn-design .vn-text-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 14px; font-weight: 550; line-height: 1.5; }
body.vn-site.vn-design .vn-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
body.vn-site.vn-design .vn-text-link .vn-home-icon { width: 18px; height: 18px; flex-basis: 18px; }
body.vn-site.vn-design .vn-section { padding-block: 44px; }
body.vn-site.vn-design .vn-country-search-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
body.vn-site.vn-design .vn-country-search-heading h2 { display: flex; align-items: center; gap: 12px; margin: 0; }
body.vn-site.vn-design .vn-count { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 28px; padding-inline: 7px; border-radius: 7px; background: #e7edde; color: var(--vn-muted); font-size: 13px; letter-spacing: 0; font-weight: 500; }
body.vn-site.vn-design .vn-search-field { width: 290px; max-width: 100%; }
body.vn-site.vn-design .vn-search-field > div { position: relative; }
body.vn-site.vn-design .vn-search-field .vn-home-icon { position: absolute; inset-inline-start: 13px; top: 13px; width: 20px; height: 20px; color: var(--vn-muted); }
body.vn-site.vn-design .vn-search-field input { height: 46px; padding: 10px 13px; padding-inline-start: 42px; margin: 0; border: 1px solid #c8d2c3; border-radius: 8px; background: #fff; box-shadow: none; color: var(--vn-ink); font-size: 14px; }
body.vn-site.vn-design .vn-search-field input:focus { border-color: #25723c; outline: 2px solid #25723c; outline-offset: 1px; }
body.vn-site.vn-design .vn-search-field .vn-search-status { position: absolute; inset-block-start: 100%; inset-inline-start: 0; margin: 4px 0 0; min-height: 0; font-size: 11px; color: var(--vn-muted); }
body.vn-site.vn-design .vn-country-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
body.vn-site.vn-design .vn-country-grid li { min-width: 0; }
body.vn-site.vn-design .vn-country-grid a { display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 13px; border: 1px solid var(--vn-line); border-radius: 9px; background: #fff; font-size: 13px; }
body.vn-site.vn-design .vn-country-grid a:hover { border-color: #92b18a; background: #f0f7eb; }
body.vn-site.vn-design .vn-country-grid img { flex-shrink: 0; width: 27px; height: 20px; object-fit: cover; border-radius: 2px; }
body.vn-site.vn-design .vn-country-grid a > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.vn-site.vn-design .vn-country-code { margin-inline-start: auto; color: var(--vn-muted); font-size: 11px; white-space: nowrap; }
body.vn-site.vn-design .vn-country-grid .vn-home-icon { width: 15px; height: 15px; flex-basis: 15px; }
body.vn-site.vn-design .vn-country-more { display: flex; margin: 23px auto 0; min-height: 44px; font-size: 13px; }
body.vn-site.vn-design .vn-search-empty { padding-block: 28px; margin: 0; color: var(--vn-muted); font-size: 14px; text-align: center; }
body.vn-site.vn-design .vn-service-section { background: #edf2e8; }
body.vn-site.vn-design .vn-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.vn-site.vn-design .vn-service-card { position: relative; padding: 23px; border: 1px solid #dce5d6; border-radius: 15px; background: #fff; }
body.vn-site.vn-design .vn-service-card:first-child { background: #daf3d3; border-color: #c9e5c2; }
body.vn-site.vn-design .vn-service-card:hover { border-color: #90b887; }
body.vn-site.vn-design .vn-service-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 18px; border-radius: 9px; background: #f3f7ee; }
body.vn-site.vn-design .vn-service-icon .vn-home-icon { width: 22px; height: 22px; }
body.vn-site.vn-design .vn-service-card h3 { margin: 0 0 10px; font-size: 23px; line-height: 1.25; letter-spacing: -.025em; }
body.vn-site.vn-design .vn-service-card p { margin: 0; color: var(--vn-muted); font-size: 14px; }
body.vn-site.vn-design .vn-card-arrow { position: absolute; inset-block-start: 29px; inset-inline-end: 23px; }
body.vn-site.vn-design .vn-card-arrow .vn-home-icon { width: 18px; height: 18px; }
body.vn-site.vn-design:dir(rtl) [data-icon="arrow"] { transform: scaleX(-1); }
body.vn-site.vn-design .vn-related-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin-top: 23px; }
body.vn-site.vn-design .vn-related-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; }
body.vn-site.vn-design .vn-related-links .vn-home-icon { width: 17px; height: 17px; flex-basis: 17px; }
body.vn-site.vn-design .vn-related-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.vn-site.vn-design .vn-info-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; }
body.vn-site.vn-design .vn-info-layout h2 { margin-top: 16px; }
body.vn-site.vn-design .vn-faq-list { border-top: 1px solid #cbd6c2; }
body.vn-site.vn-design .vn-faq-list details { border-bottom: 1px solid #cbd6c2; }
body.vn-site.vn-design .vn-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 0; cursor: pointer; list-style: none; font-size: 15px; font-weight: 550; line-height: 1.5; }
body.vn-site.vn-design .vn-faq-list summary::-webkit-details-marker { display: none; }
body.vn-site.vn-design .vn-faq-list summary > span { flex-shrink: 0; font-size: 22px; font-weight: 400; }
body.vn-site.vn-design .vn-faq-list details[open] summary > span { transform: rotate(45deg); }
body.vn-site.vn-design .vn-faq-list details p, body.vn-site.vn-design .vn-details-content { margin: -2px 0 20px; color: var(--vn-muted); font-size: 14px; }
body.vn-site.vn-design .vn-details-content p { margin: 0 0 14px; }
body.vn-site.vn-design .vn-faq-list details a { text-decoration: underline; text-underline-offset: 3px; }
body.vn-site.vn-design .vn-app-section { padding-top: 0; }
body.vn-site.vn-design .vn-app-panel { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 32px; padding: 23px 28px; border: 1px solid var(--vn-line); border-radius: 13px; }
body.vn-site.vn-design .vn-app-panel h2 { margin: 0; font-size: 23px; }
body.vn-site.vn-design .vn-app-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 26px; }
body.vn-site.vn-design .vn-app-links .vn-text-link { font-size: 13px; }
body.vn-site.vn-design .vn-service-features { display: flex; flex-wrap: wrap; gap: 16px 30px; padding-block: 10px; }
body.vn-site.vn-design .vn-service-features > span { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; }
body.vn-site.vn-design .vn-service-features .vn-home-icon { width: 19px; height: 19px; flex-basis: 19px; }
body.vn-site.vn-design .vn-requirements-note { margin-top: 16px; margin-bottom: 0; color: var(--vn-muted); font-size: 13px; }
body.vn-site.vn-design .vn-service-footer { padding-bottom: 32px; }
body.vn-site.vn-design .vn-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 0; margin: 0; list-style: none; }
body.vn-site.vn-design .vn-steps li { border-top: 1px solid #cbd6c2; padding-top: 20px; }
body.vn-site.vn-design .vn-step-number { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-bottom: 17px; border-radius: 50%; background: #e7edde; font-size: 12px; }
body.vn-site.vn-design .vn-steps h2 { margin-bottom: 12px; font-size: 23px; }
body.vn-site.vn-design .vn-steps p { margin: 0; color: var(--vn-muted); font-size: 14px; }
body.vn-site.vn-design .vn-symbol-art { display: grid; place-items: center; justify-self: center; width: 240px; height: 240px; border-radius: 50%; background: #ddf3d4; }
body.vn-site.vn-design .vn-symbol-art .vn-home-icon { width: 130px; height: 130px; }
body.vn-site.vn-design .vn-country-hero .vn-hero-grid { min-height: 250px; grid-template-columns: 1.4fr .6fr; }
body.vn-site.vn-design .vn-flag-art { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; justify-self: end; width: 270px; height: 230px; max-width: 100%; border: 1px solid var(--vn-line); border-radius: 22px; background: #eaf3e3; }
body.vn-site.vn-design .vn-flag-art img { width: 130px; max-height: 88px; object-fit: contain; border-radius: 5px; }
body.vn-site.vn-design .vn-flag-art bdi { font-size: 28px; font-weight: 550; letter-spacing: -.035em; }
body.vn-site.vn-design .vn-options { padding-bottom: 15px; }
body.vn-site.vn-design .vn-options .tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; margin: 0; border: 0; border-bottom: 1px solid var(--vn-line); background: transparent; }
body.vn-site.vn-design .vn-options .tabs-title { float: none; flex-shrink: 0; }
body.vn-site.vn-design .vn-options .tabs-title > a { padding: 16px 19px; color: var(--vn-muted); background: transparent; border-bottom: 3px solid transparent; font-size: 14px; white-space: nowrap; }
body.vn-site.vn-design .vn-options .tabs-title.is-active > a { color: var(--vn-ink); border-bottom-color: #219c45; background: #ebf2e5; }
body.vn-site.vn-design .vn-options .tabs-content { border: 1px solid var(--vn-line); border-top: 0; border-radius: 0 0 13px 13px; background: #fff; }
body.vn-site.vn-design .vn-options .tabs-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 23px; padding: 28px; }
body.vn-site.vn-design.vn-enhanced .vn-options .tabs-panel { display: none; }
body.vn-site.vn-design.vn-enhanced .vn-options .tabs-panel.is-active { display: flex; }
body.vn-site.vn-design .vn-options .tabs-panel h3 { margin: 0 0 10px; font-size: 24px; letter-spacing: -.025em; }
body.vn-site.vn-design .vn-options .tabs-panel p { max-width: 600px; margin: 0 0 9px; color: var(--vn-muted); font-size: 15px; }
body.vn-site.vn-design .vn-options .tabs-panel .vn-text-link { font-size: 12px; }
body.vn-site.vn-design .vn-country-details { padding-block: 24px 4px; }
body.vn-site.vn-design .vn-country-details .vn-shell { padding: 0; }
body.vn-site.vn-design .vn-error-page { padding-block: 90px; min-height: 65vh; }
body.vn-site.vn-design .vn-error-page h1 { margin-bottom: 30px; font-size: clamp(36px, 5vw, 60px); letter-spacing: -.04em; }
body.vn-site.vn-design .main-footer { margin: 0; padding-block: 30px; background: #17231b; }
body.vn-site.vn-design .main-footer .grid-container { max-width: 1230px; }
body.vn-site.vn-design .main-footer .grid-x { align-items: center; }
body.vn-site.vn-design .main-footer img { width: 200px; }
body.vn-site.vn-design .main-footer p { margin: 9px 0 0; font-size: 11px; color: #bfd0c2; }
body.vn-site.vn-design .main-footer li a { padding-block: 14px; font-size: 12px; color: #d6e1d8; }
@media (max-width: 1199px) {
  body.vn-site.vn-design .main-header .show-for-large { display: none !important; }
  body.vn-site.vn-design .main-header .hide-for-large { display: block !important; }
  body.vn-site.vn-design .main-header .cell.auto.hide-for-large { flex: 1 1 0; width: auto; }
  body.vn-site.vn-design .vn-hero h1 { font-size: clamp(40px, 4.6vw, 56px); }
  body.vn-site.vn-design .vn-country-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.vn-site.vn-design .vn-shell, body.vn-site.vn-design .vn-breadcrumbs { width: calc(100% - 2.5rem); }
  body.vn-site.vn-design .main-header { padding-block: 14px; }
  body.vn-site.vn-design .main-header .vn-logo img { width: 190px; }
  body.vn-site.vn-design .vn-hero { padding-block: 30px 10px; }
  body.vn-site.vn-design .vn-hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 15px; }
  body.vn-site.vn-design .vn-hero h1 { font-size: clamp(36px, 9.5vw, 54px); letter-spacing: -.045em; margin-bottom: 17px; }
  body.vn-site.vn-design .vn-lead { max-width: 500px; font-size: 15px; margin-bottom: 20px; }
  body.vn-site.vn-design .vn-hero-art { width: 240px; max-width: 85%; justify-self: center; }
  body.vn-site.vn-design .vn-button { padding: 12px 18px; font-size: 13px; gap: 12px; }
  body.vn-site.vn-design .vn-section { padding-block: 32px; }
  body.vn-site.vn-design .vn-main h2 { font-size: 25px; }
  body.vn-site.vn-design .vn-country-search-heading { display: block; margin-bottom: 28px; }
  body.vn-site.vn-design .vn-country-search-heading h2 { margin-bottom: 18px; }
  body.vn-site.vn-design .vn-search-field { width: 100%; }
  body.vn-site.vn-design .vn-country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.vn-site.vn-design .vn-country-grid a { flex-wrap: wrap; gap: 5px; min-height: 63px; padding: 10px; font-size: 12px; }
  body.vn-site.vn-design .vn-country-grid a > span { max-width: calc(100% - 28px); }
  body.vn-site.vn-design .vn-country-grid img { width: 22px; height: 16px; }
  body.vn-site.vn-design .vn-country-code { width: 100%; padding-inline-start: 27px; }
  body.vn-site.vn-design .vn-country-grid .vn-home-icon { display: none; }
  body.vn-site.vn-design .vn-service-grid { grid-template-columns: 1fr; gap: 12px; }
  body.vn-site.vn-design .vn-service-card { padding: 21px; }
  body.vn-site.vn-design .vn-service-card h3 { font-size: 22px; }
  body.vn-site.vn-design .vn-service-card p { font-size: 13px; }
  body.vn-site.vn-design .vn-related-links { gap: 6px 18px; margin-top: 17px; }
  body.vn-site.vn-design .vn-related-links a { font-size: 12px; }
  body.vn-site.vn-design .vn-info-layout { grid-template-columns: 1fr; gap: 0; }
  body.vn-site.vn-design .vn-info-layout h2 { margin-top: 0; margin-bottom: 21px; }
  body.vn-site.vn-design .vn-faq-list summary { font-size: 14px; padding-block: 19px; }
  body.vn-site.vn-design .vn-faq-list details p, body.vn-site.vn-design .vn-details-content { font-size: 13px; }
  body.vn-site.vn-design .vn-app-section { padding-top: 0; }
  body.vn-site.vn-design .vn-app-panel { padding: 20px; }
  body.vn-site.vn-design .vn-app-links { gap: 5px 18px; }
  body.vn-site.vn-design .vn-app-links .vn-text-link { font-size: 12px; }
  body.vn-site.vn-design .vn-service-features { gap: 13px 20px; padding-block: 12px; }
  body.vn-site.vn-design .vn-service-features > span { font-size: 12px; }
  body.vn-site.vn-design .vn-requirements-note { margin-top: 10px; font-size: 12px; }
  body.vn-site.vn-design .vn-steps { grid-template-columns: 1fr; gap: 24px; }
  body.vn-site.vn-design .vn-steps h2 { font-size: 22px; }
  body.vn-site.vn-design .vn-symbol-art { width: 150px; height: 150px; margin-top: 15px; }
  body.vn-site.vn-design .vn-symbol-art .vn-home-icon { width: 80px; height: 80px; }
  body.vn-site.vn-design .vn-country-hero .vn-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  body.vn-site.vn-design .vn-country-hero .vn-flag-art { display: none; }
  body.vn-site.vn-design .vn-country-hero { padding-bottom: 4px; }
  body.vn-site.vn-design .vn-options { padding-bottom: 10px; }
  body.vn-site.vn-design .vn-options .tabs-title > a { padding: 15px; font-size: 13px; }
  body.vn-site.vn-design .vn-options .tabs-panel { padding: 23px 20px; }
  body.vn-site.vn-design .vn-options .tabs-panel h3 { font-size: 22px; }
  body.vn-site.vn-design .vn-options .tabs-panel p { font-size: 14px; }
  body.vn-site.vn-design .vn-country-details { padding-top: 22px; padding-bottom: 0; }
  body.vn-site.vn-design .vn-breadcrumbs { padding-top: 16px; }
  body.vn-site.vn-design .vn-breadcrumbs ol { font-size: 11px; }
  body.vn-site.vn-design .main-footer .menu { justify-content: flex-start; margin-top: 18px; }
  body.vn-site.vn-design .main-footer .menu a { padding-inline-start: 0; padding-inline-end: 20px; }
}
@media (max-width: 359px) {
  body.vn-site.vn-design .vn-shell, body.vn-site.vn-design .vn-breadcrumbs { width: calc(100% - 2rem); }
  body.vn-site.vn-design .vn-country-grid { grid-template-columns: 1fr; }
  body.vn-site.vn-design .vn-country-grid a { flex-wrap: nowrap; min-height: 56px; }
  body.vn-site.vn-design .vn-country-code { width: auto; padding-inline-start: 0; }
  body.vn-site.vn-design .vn-hero h1 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  body.vn-site.vn-design *, body.vn-site.vn-design *::before, body.vn-site.vn-design *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
