.pssp-sim-engine--api .pssp-sim-engine-result-preview #pssp-engine-search {
    margin-top: 22px;
    min-width: 0;
    max-width: 100%;
}

.pssp-sim-engine--api .pssp-sim-engine-fields--profile {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pssp-sim-identity-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
    border: 1px solid #d7e6ef;
    border-radius: 16px;
    background: #f8fcff;
}

.pssp-sim-identity-fields .pssp-sim-engine-field {
    display: grid;
    gap: 7px;
}

.pssp-sim-identity-fields__consent {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #234766;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.pssp-sim-identity-fields__consent input {
    flex: 0 0 auto;
    margin-top: 2px;
}

.pssp-sim-identity-fields__privacy,
.pssp-sim-identity-fields__privacy-link {
    margin: 0;
    color: #71869a;
    font-size: 11px;
    line-height: 1.5;
}

.pssp-sim-identity-fields__privacy-link {
    text-align: right;
}

.pssp-sim-identity-fields__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.pssp-sim-engine--api #pssp-engine-city[readonly] {
    background: #f5f9fc !important;
    cursor: default;
}

.pssp-sim-business-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
    border: 1px solid #d7e6ef;
    border-radius: 16px;
    background: #f8fcff;
}

.pssp-sim-business-fields[hidden],
.pssp-sim-business-ei[hidden],
.pssp-sim-business-summary[hidden] {
    display: none !important;
}

.pssp-sim-business-fields .pssp-sim-engine-field {
    display: grid;
    align-content: start;
    gap: 7px;
}

.pssp-sim-engine-help {
    color: #71869a;
    font-size: 10.5px;
    line-height: 1.45;
}

.pssp-sim-business-summary {
    display: contents;
}

.pssp-sim-plan-card__channel {
    margin: 5px 0 0;
    color: #1767a4;
    font-size: 11px;
    font-weight: 800;
}

.pssp-sim-beneficiary-card .pssp-sim-engine-label {
    margin-top: 12px;
}

.pssp-sim-beneficiary-role {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #edf7fc;
    color: #1767a4;
    font-size: 11px;
    font-weight: 800;
}

.pssp-sim-results {
    display: grid;
    gap: 20px;
    margin-top: 24px;
    scroll-margin-top: 110px;
}

.pssp-sim-results:empty {
    display: none;
}

.pssp-sim-results-toolbar {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid #d7e6ef;
    border-radius: 18px;
    background: #f8fcff;
}

.pssp-sim-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.pssp-sim-results-heading strong {
    color: #163c5f;
    font-size: 20px;
    line-height: 1.2;
}

.pssp-sim-results-heading span {
    color: #71869a;
    font-size: 11.5px;
}

.pssp-sim-results-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.pssp-sim-results-filter {
    display: grid;
    gap: 6px;
    color: #234766;
    font-size: 11px;
    font-weight: 800;
}

.pssp-sim-results-filter .pssp-sim-engine-control {
    min-height: 46px;
    padding: 9px 11px !important;
    font-size: 12px !important;
}

.pssp-sim-results-guidance {
    display: grid;
    grid-column: 3;
    grid-row: 2;
    align-self: end;
    gap: 6px;
}

.pssp-sim-results-guidance__label {
    color: #234766;
    font-size: 11px;
    font-weight: 800;
}

.pssp-sim-results-guidance__button {
    width: 100%;
    min-height: 46px;
    padding: 9px 14px;
}

.pssp-sim-compare-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    position: fixed;
    z-index: 999;
    bottom: 18px;
    left: 50%;
    width: min(980px, calc(100% - 32px));
    padding: 13px 16px;
    border: 1px solid #b7ddec;
    border-radius: 15px;
    background: rgba(237, 248, 253, .98);
    box-shadow: 0 16px 40px rgba(18, 63, 94, .2);
    color: #607990;
    font-size: 11.5px;
    transform: translateX(-50%);
}

.pssp-sim-compare-bar__status {
    display: grid;
    gap: 3px;
}

.pssp-sim-compare-bar__status strong {
    color: #145b8d;
}

.pssp-sim-compare-bar__count--mobile,
.pssp-sim-compare-action__mobile {
    display: none;
}

.pssp-sim-compare-bar__status span.is-warning {
    color: #a25320;
    font-weight: 800;
}

.pssp-sim-compare-bar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pssp-sim-compare-clear,
.pssp-sim-compare-action {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 10px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.pssp-sim-compare-clear {
    border: 1px solid #bcd8e7;
    background: #fff;
    color: #2c678b;
}

.pssp-sim-compare-action {
    border: 1px solid #078749;
    background: #0aa65b;
    color: #fff;
}

.pssp-sim-compare-clear:hover,
.pssp-sim-compare-clear:focus-visible {
    border-color: #7eb4cf;
}

.pssp-sim-compare-action:hover,
.pssp-sim-compare-action:focus-visible {
    background: #078f4e;
}

.pssp-sim-comparison {
    margin-top: 30px;
    padding: 25px;
    border: 1px solid #cfe1ec;
    border-radius: 20px;
    background: #f7fbfe;
    box-shadow: 0 14px 36px rgba(19, 59, 93, .08);
    scroll-margin-top: 110px;
}

.pssp-sim-comparison[hidden] {
    display: none;
}

.pssp-sim-comparison__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.pssp-sim-comparison__head h3 {
    margin: 4px 0 0 !important;
    color: #153956 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.pssp-sim-comparison__eyebrow {
    color: #0873ba;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.pssp-sim-comparison__grid {
    display: grid;
    gap: 15px;
}

.pssp-sim-comparison--2 .pssp-sim-comparison__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pssp-sim-comparison--3 .pssp-sim-comparison__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pssp-sim-comparison-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid #d6e5ee;
    border-radius: 15px;
    background: #fff;
}

.pssp-sim-comparison-card__head {
    padding-bottom: 14px;
    border-bottom: 1px solid #e4eef4;
}

.pssp-sim-operator-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 116px;
    height: 44px;
    margin: 0 0 10px;
    overflow: hidden;
}

.pssp-sim-operator-logo__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.pssp-sim-operator-logo--comparison {
    width: 108px;
    height: 40px;
}

.pssp-sim-comparison-card__total {
    display: block;
    margin-top: 12px;
    color: #0b9d57;
    font-size: 20px;
}

.pssp-sim-comparison-card__people {
    display: grid;
    gap: 7px;
    margin-top: 14px;
    padding: 12px;
    border-radius: 11px;
    background: #f8fbfd;
}

.pssp-sim-comparison-card__people > strong {
    color: #345a77;
    font-size: 10.5px;
}

.pssp-sim-comparison-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 22px;
    padding: 22px 24px;
    border: 1px solid #d5e8df;
    border-radius: 16px;
    background: #f7fcf9;
    box-shadow: 0 12px 30px rgba(20, 82, 58, .07);
}

.pssp-sim-comparison-help__content {
    max-width: 700px;
}

.pssp-sim-comparison-help h4 {
    margin: 0 0 7px !important;
    color: #153956 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    text-transform: none !important;
}

.pssp-sim-comparison-help p {
    margin: 0 !important;
    color: #557184 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.pssp-sim-comparison-help__action {
    display: grid;
    flex: 0 0 auto;
    justify-items: center;
    gap: 7px;
}

.pssp-sim-comparison-help__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid #168754;
    border-radius: 12px;
    background: #168754;
    color: #fff;
    font: inherit;
    font-size: 11.5px;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(22, 135, 84, .2);
}

.pssp-sim-comparison-help__button:hover,
.pssp-sim-comparison-help__button:focus-visible {
    border-color: #0f7044;
    background: #0f7044;
}

.pssp-sim-comparison-help__button:disabled {
    cursor: wait;
    opacity: .68;
}

.pssp-sim-comparison-help__icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
}

.pssp-sim-comparison-help__icon svg {
    width: 100%;
    height: 100%;
}

.pssp-sim-comparison-help__note {
    color: #668074;
    font-size: 12.5px;
    font-weight: 700;
}

.pssp-sim-comparison__details {
    display: grid;
    gap: 0;
    margin: 14px 0 0;
}

.pssp-sim-comparison__detail {
    display: grid;
    grid-template-columns: minmax(92px, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    padding: 9px 0;
    border-top: 1px solid #e7eff4;
}

.pssp-sim-comparison__detail dt,
.pssp-sim-comparison__detail dd {
    margin: 0;
    font-size: 10.5px;
    line-height: 1.4;
}

.pssp-sim-comparison__detail dt {
    color: #6f8496;
    font-weight: 700;
}

.pssp-sim-comparison__detail dd {
    color: #244b69;
    font-weight: 800;
}

.pssp-sim-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pssp-sim-operator-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px;
    border: 1px solid #d4e4ee;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(19, 59, 93, .07);
}

.pssp-sim-operator-card.is-expanded {
    grid-column: 1 / -1;
}

.pssp-sim-operator-card__summary,
.pssp-sim-operator-card__actions,
.pssp-sim-product-group__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pssp-sim-operator-card__names {
    min-width: 0;
}

.pssp-sim-operator-card__title {
    margin: 0 !important;
    color: #153956 !important;
    font-size: 22px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.pssp-sim-operator-card__products {
    margin: 7px 0 0 !important;
    color: #667f92 !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
}

.pssp-sim-operator-card__price {
    flex: 0 0 auto;
    text-align: right;
}

.pssp-sim-operator-card__price span {
    display: block;
    color: #7a8ea0;
    font-size: 9.5px;
    font-weight: 750;
}

.pssp-sim-operator-card__price strong {
    display: block;
    margin-top: 4px;
    color: #0b9d57;
    font-size: 20px;
    line-height: 1.15;
    white-space: nowrap;
}

.pssp-sim-operator-card__actions {
    align-items: center;
    margin-top: auto;
    padding-top: 20px;
}

.pssp-sim-operator-card__count {
    color: #315f7d;
    font-size: 11.5px;
}

.pssp-sim-operator-card__toggle {
    width: auto;
    min-width: 145px;
    padding: 11px 17px;
}

.pssp-sim-operator-card__options {
    display: grid;
    gap: 22px;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #dce9f1;
}

.pssp-sim-product-group {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.pssp-sim-product-group__head {
    align-items: center;
}

.pssp-sim-product-group__head h5 {
    margin: 0 !important;
    color: #194765 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

.pssp-sim-product-group__head span {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef7fc;
    color: #316483;
    font-size: 9.5px;
    font-weight: 800;
}

.pssp-sim-product-group__variants {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pssp-sim-plan-card--variant {
    padding: 18px;
    border-radius: 15px;
    box-shadow: 0 7px 20px rgba(19, 59, 93, .06);
}

.pssp-sim-plan-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 21px;
    border: 1px solid #d4e4ee;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(19, 59, 93, .07);
}

.pssp-sim-plan-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pssp-sim-plan-card__names {
    min-width: 0;
}

.pssp-sim-plan-card__operator {
    display: inline-flex;
    margin-bottom: 8px;
    color: #0873ba;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pssp-sim-plan-card__title {
    margin: 0 !important;
    color: #153956 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
}

.pssp-sim-plan-card__variant {
    margin: 6px 0 0 !important;
    color: #71869a !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

.pssp-sim-plan-card__price {
    flex: 0 0 auto;
    text-align: right;
}

.pssp-sim-plan-card__price span {
    display: block;
    color: #7a8ea0;
    font-size: 9.5px;
    font-weight: 700;
}

.pssp-sim-plan-card__price strong {
    display: block;
    margin-top: 4px;
    color: #0b9d57;
    font-size: 20px;
    line-height: 1.1;
}

.pssp-sim-plan-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 16px 0;
}

.pssp-sim-plan-card__chips span {
    display: inline-flex;
    padding: 6px 8px;
    border-radius: 999px;
    background: #eef7fc;
    color: #316483;
    font-size: 9.5px;
    font-weight: 800;
}

.pssp-sim-plan-card__people {
    display: grid;
    gap: 7px;
    padding: 14px;
    border-radius: 12px;
    background: #f8fbfd;
}

.pssp-sim-plan-card__people > strong {
    margin-bottom: 2px;
    color: #345a77;
    font-size: 10.5px;
}

.pssp-sim-plan-card__person {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #6b8093;
    font-size: 10.5px;
}

.pssp-sim-plan-card__person strong {
    color: #244b69;
    white-space: nowrap;
}

.pssp-sim-plan-card__features {
    display: grid;
    gap: 6px;
    margin: 15px 0 0;
    padding: 0;
    color: #647b8e;
    font-size: 10.5px;
    list-style: none;
}

.pssp-sim-plan-card__features li::before {
    content: "✓";
    margin-right: 7px;
    color: #14ac60;
    font-weight: 900;
}

.pssp-sim-plan-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.pssp-sim-plan-action {
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #98c8dd;
    border-radius: 10px;
    background: #edf8fd;
    color: #145f91;
    font: inherit;
    font-size: 10.5px;
    font-weight: 850;
    cursor: pointer;
}

.pssp-sim-plan-action:hover,
.pssp-sim-plan-action:focus-visible {
    border-color: #4d9fc4;
    background: #e2f4fb;
}

.pssp-sim-plan-action--secondary {
    border-color: #d3e2eb;
    background: #fff;
    color: #426985;
}

.pssp-sim-comparison-card__actions {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e7eff4;
}

.pssp-sim-offer-layer {
    position: fixed;
    z-index: 1100;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(10, 37, 58, .46);
    backdrop-filter: blur(3px);
}

.pssp-sim-offer-layer[hidden] {
    display: none;
}

.pssp-sim-panel-open {
    overflow: hidden;
}

.pssp-sim-offer-panel {
    display: flex;
    flex-direction: column;
    width: min(840px, 100%);
    max-height: min(86vh, 820px);
    overflow: hidden;
    border: 1px solid #c9dfeb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(10, 42, 65, .28);
    transform: translateY(10px);
    opacity: 0;
    transition: transform .18s ease, opacity .18s ease;
}

.pssp-sim-offer-panel.is-open {
    transform: translateY(0);
    opacity: 1;
}

.pssp-sim-offer-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e2edf3;
    background: #f7fbfe;
}

.pssp-sim-offer-panel__head h3 {
    margin: 3px 0 0 !important;
    color: #153956 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.pssp-sim-offer-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #cddfe9;
    border-radius: 50%;
    background: #fff;
    color: #315f7d;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.pssp-sim-offer-panel__body {
    display: grid;
    gap: 18px;
    overflow: auto;
    padding: 22px;
    overscroll-behavior: contain;
}

.pssp-sim-offer-panel__intro {
    padding-bottom: 4px;
}

.pssp-sim-offer-panel__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    margin-top: 0;
}

.pssp-sim-panel-section {
    padding: 17px;
    border: 1px solid #deebf2;
    border-radius: 14px;
    background: #f9fcfe;
}

.pssp-sim-panel-section h4,
.pssp-sim-network-item h4 {
    margin: 0 0 10px !important;
    color: #1a4665 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

.pssp-sim-panel-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
    color: #577086;
    font-size: 11.5px;
    line-height: 1.5;
}

.pssp-sim-waiting {
    border: 1px solid #cfe2ec;
    border-radius: 14px;
    background: #f8fcfe;
}

.pssp-sim-waiting summary {
    padding: 15px 17px;
    color: #155f91;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.pssp-sim-waiting__heading {
    margin: 0 !important;
    padding: 0 17px 12px;
    color: #254f6c !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.pssp-sim-waiting.is-regulatory {
    border-color: #e6d39b;
    background: #fffdf7;
}

.pssp-sim-waiting__notice {
    font-weight: 650;
}

.pssp-sim-waiting__list {
    display: grid;
    gap: 10px;
    padding: 0 17px 17px;
}

.pssp-sim-waiting__item {
    display: grid;
    gap: 5px;
    padding: 12px;
    border-radius: 11px;
    background: #fff;
}

.pssp-sim-waiting__item strong {
    color: #254f6c;
    font-size: 11.5px;
}

.pssp-sim-waiting__item span,
.pssp-sim-waiting__item p,
.pssp-sim-network-item p {
    margin: 0 !important;
    color: #647b8e !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
}

.pssp-sim-panel-note {
    margin: 0 17px 17px !important;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff8e9;
    color: #745d2c !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
}

.pssp-sim-network-unavailable {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin: 0 !important;
    padding: 8px 11px;
    border-radius: 9px;
    background: #f2f6f8;
    color: #667b89 !important;
    font-size: 10.5px !important;
    font-weight: 700;
    line-height: 1.35 !important;
}

.pssp-sim-network-empty,
.pssp-sim-network-alternatives {
    display: grid;
    gap: 12px;
    padding: 22px;
    border: 1px solid #d8e6ee;
    border-radius: 16px;
    background: #fff;
}

.pssp-sim-network-empty {
    justify-items: start;
    background: #f9fcfe;
}

.pssp-sim-network-empty__title,
.pssp-sim-network-alternatives__title {
    margin: 0 !important;
    color: #1a4665 !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
}

.pssp-sim-network-empty__text,
.pssp-sim-network-alternatives__notice {
    margin: 0 !important;
    color: #5c7283 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.pssp-sim-network-empty__action {
    width: auto;
    margin-top: 4px;
}

.pssp-sim-network-alternatives__notice {
    padding: 11px 13px;
    border-radius: 10px;
    background: #fff8e9;
    color: #745d2c !important;
    font-weight: 650;
}

.pssp-sim-network-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
}

.pssp-sim-network-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.pssp-sim-network-item {
    min-width: 0;
    padding: 15px;
    border: 1px solid #d9e7ef;
    border-radius: 14px;
    background: #fff;
}

.pssp-sim-network-item__unit {
    margin-bottom: 6px !important;
    color: #315f7d !important;
    font-weight: 800;
}

.pssp-sim-network-item__services {
    margin-top: 7px !important;
    color: #2c7199 !important;
    font-weight: 750;
}

.pssp-sim-plan-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 17px;
}

.pssp-sim-plan-card__compare {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #175d91;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.pssp-sim-plan-card__compare input {
    width: 17px;
    height: 17px;
    accent-color: #16ba67;
}

.pssp-sim-plan-card__status {
    max-width: 175px;
    color: #6f8496;
    font-size: 9px;
    line-height: 1.35;
    text-align: right;
}

.pssp-sim-share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 14px;
}

.pssp-sim-share-actions--comparison {
    width: min(620px, 100%);
    margin: 22px auto 0;
}

.pssp-sim-share-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 43px;
    padding: 9px 11px;
    border: 1px solid #18885a;
    border-radius: 11px;
    background: #18885a;
    color: #fff;
    font: inherit;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.pssp-sim-share-action--pdf {
    border-color: #1767a4;
    background: #1767a4;
}

.pssp-sim-share-action--commercial {
    grid-column: 1 / -1;
    border-color: #123f63;
    background: #123f63;
}

.pssp-sim-share-action:disabled {
    cursor: wait;
    opacity: .68;
}

.pssp-sim-results-more {
    justify-self: center;
    min-width: 220px;
}

.pssp-sim-results-state,
.pssp-sim-results-manual {
    padding: 22px;
    border: 1px solid #d7e6ef;
    border-radius: 16px;
    background: #f8fcff;
    color: #46677f;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.pssp-sim-results-state.is-loading::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 9px;
    border: 2px solid #b9d9e9;
    border-top-color: #0b70c9;
    border-radius: 50%;
    vertical-align: -3px;
    animation: pssp-sim-spin .8s linear infinite;
}

.pssp-sim-results-state.is-error {
    border-color: #f1c7c7;
    background: #fff5f5;
    color: #9b4141;
}

.pssp-sim-results-manual {
    padding: 13px 16px;
    border-color: #efdca8;
    background: #fffaf0;
    color: #80652c;
    font-size: 11px;
    font-weight: 600;
}

.pssp-sim-engine-button.is-loading {
    cursor: wait;
    opacity: .72;
}

@keyframes pssp-sim-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1100px) {
    .pssp-sim-engine--api .pssp-sim-engine-fields--profile,
    .pssp-sim-business-fields,
    .pssp-sim-results-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pssp-sim-results-guidance {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

html.pssp-sim-contact-open {
    overflow: hidden;
}

.pssp-sim-contact-layer {
    align-items: center;
    background: rgba(12, 30, 39, .62);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 100001;
}

.pssp-sim-contact-layer[hidden] {
    display: none !important;
}

.pssp-sim-contact-modal {
    background: #fff;
    border: 1px solid rgba(15, 94, 62, .15);
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(7, 31, 23, .28);
    box-sizing: border-box;
    max-height: calc(100vh - 40px);
    max-width: 540px;
    opacity: 0;
    overflow: auto;
    padding: 30px;
    position: relative;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
    width: 100%;
}

.pssp-sim-contact-layer.is-open .pssp-sim-contact-modal {
    opacity: 1;
    transform: translateY(0);
}

.pssp-sim-contact-modal__close {
    align-items: center;
    background: #f1f5f3;
    border: 0;
    border-radius: 999px;
    color: #263c34;
    cursor: pointer;
    display: flex;
    font-size: 22px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 36px;
}

.pssp-sim-contact-modal__head h3 {
    color: #15352a;
    font-size: 25px;
    line-height: 1.25;
    margin: 6px 42px 10px 0;
}

.pssp-sim-contact-modal__head p {
    color: #50635c;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 22px;
}

.pssp-sim-contact-form {
    display: grid;
    gap: 15px;
}

.pssp-sim-contact-form > label:not(.pssp-sim-contact-form__consent):not(.pssp-sim-contact-form__honeypot) {
    display: grid;
    font-weight: 700;
    gap: 7px;
}

.pssp-sim-contact-form__consent {
    align-items: flex-start;
    color: #3e514a;
    display: flex;
    font-size: 13px;
    gap: 9px;
    line-height: 1.45;
}

.pssp-sim-contact-form__consent input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.pssp-sim-contact-form__privacy {
    font-size: 12px;
    margin-top: -8px;
}

.pssp-sim-contact-form__privacy a {
    color: #176a49;
}

.pssp-sim-contact-form__error {
    background: #fff1f1;
    border-radius: 8px;
    color: #9e2828;
    font-size: 13px;
    padding: 10px 12px;
}

.pssp-sim-contact-form__honeypot {
    height: 1px !important;
    left: -10000px !important;
    overflow: hidden !important;
    position: absolute !important;
    top: auto !important;
    width: 1px !important;
}

.pssp-sim-contact-form .pssp-sim-comparison-help__button {
    justify-content: center;
    width: 100%;
}

.pssp-sim-contact-form small {
    color: #6b7c75;
    display: block;
    text-align: center;
}

@media (max-width: 767px) {
    .pssp-sim-engine--api .pssp-sim-engine-fields--profile,
    .pssp-sim-identity-fields,
    .pssp-sim-business-fields,
    .pssp-sim-results-filters,
    .pssp-sim-results-grid {
        grid-template-columns: 1fr;
    }

    .pssp-sim-identity-fields__privacy-link {
        text-align: left;
    }

    .pssp-sim-results-heading,
    .pssp-sim-comparison__head,
    .pssp-sim-plan-card__head,
    .pssp-sim-plan-card__footer,
    .pssp-sim-operator-card__summary,
    .pssp-sim-operator-card__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .pssp-sim-operator-card {
        width: 100%;
        padding: 18px;
    }

    .pssp-sim-operator-card__price {
        text-align: left;
    }

    .pssp-sim-operator-card__actions,
    .pssp-sim-operator-card__toggle {
        width: 100%;
    }

    .pssp-sim-product-group__variants {
        grid-template-columns: 1fr;
    }

    .pssp-sim-product-group__head {
        align-items: flex-start;
    }

    .pssp-sim-plan-card--variant {
        width: 100%;
        overflow: hidden;
    }

    .pssp-sim-compare-bar {
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        min-height: 64px;
        max-width: none;
        padding: 8px 10px max(8px, env(safe-area-inset-bottom));
        border-width: 1px 0 0;
        border-radius: 15px 15px 0 0;
        transform: none;
    }

    .pssp-sim-engine--compare-bar-visible {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    .pssp-sim-compare-bar__status {
        flex: 1 1 auto;
        min-width: 0;
    }

    .pssp-sim-compare-bar__hint,
    .pssp-sim-compare-bar__count--desktop,
    .pssp-sim-compare-action__desktop {
        display: none;
    }

    .pssp-sim-compare-bar__count--mobile,
    .pssp-sim-compare-action__mobile {
        display: inline;
    }

    .pssp-sim-compare-bar__actions {
        flex: 0 0 auto;
        width: auto;
        gap: 8px;
    }

    .pssp-sim-compare-clear {
        min-height: 36px;
        padding: 6px 7px;
        border-color: transparent;
        background: transparent;
        font-size: 10px;
        text-decoration: underline;
    }

    .pssp-sim-compare-action {
        min-height: 40px;
        padding: 8px 14px;
    }

    .pssp-sim-comparison--2 .pssp-sim-comparison__grid,
    .pssp-sim-comparison--3 .pssp-sim-comparison__grid {
        grid-template-columns: 1fr;
    }

    .pssp-sim-comparison-help {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        padding: 19px;
    }

    .pssp-sim-comparison-help h4 {
        font-size: 20px !important;
    }

    .pssp-sim-comparison-help p {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .pssp-sim-comparison-help__action,
    .pssp-sim-comparison-help__button {
        width: 100%;
    }

    .pssp-sim-results-guidance {
        width: 100%;
    }

    .pssp-sim-plan-card__price,
    .pssp-sim-plan-card__status {
        text-align: left;
    }

    .pssp-sim-operator-logo {
        width: 108px;
        height: 40px;
    }

    .pssp-sim-contact-layer {
        align-items: flex-end;
        padding: 12px;
    }

    .pssp-sim-contact-modal {
        border-radius: 20px 20px 14px 14px;
        max-height: calc(100vh - 24px);
        padding: 25px 20px 20px;
    }

    .pssp-sim-contact-modal__head h3 {
        font-size: 22px;
    }

    .pssp-sim-offer-layer {
        align-items: flex-end;
        padding: 0;
    }

    .pssp-sim-offer-panel {
        width: 100%;
        max-height: 92vh;
        padding-bottom: env(safe-area-inset-bottom);
        border-width: 1px 0 0;
        border-radius: 22px 22px 0 0;
        transform: translateY(24px);
    }

    .pssp-sim-offer-panel__head {
        padding: 16px;
    }

    .pssp-sim-offer-panel__head h3 {
        font-size: 19px !important;
    }

    .pssp-sim-offer-panel__body {
        padding: 16px;
    }

    .pssp-sim-offer-panel__details,
    .pssp-sim-network-list {
        grid-template-columns: 1fr;
    }

    .pssp-sim-network-search {
        grid-template-columns: 1fr;
    }

    .pssp-sim-share-actions,
    .pssp-sim-share-actions--comparison {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pssp-sim-share-action {
        width: 100%;
        min-height: 44px;
        padding-inline: 8px;
        overflow-wrap: anywhere;
    }
}
