/* Minification failed. Returning unminified contents.
(28,111): run-time error CSS1039: Token not allowed after unary operator: '-progress-value'
(72,22): run-time error CSS1039: Token not allowed after unary operator: '-warning-bg'
(77,28): run-time error CSS1039: Token not allowed after unary operator: '-warning-border'
(641,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(642,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(643,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(644,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(645,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(646,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(647,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(648,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(649,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(650,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(651,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(652,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(653,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(654,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(655,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(656,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(657,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(658,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(659,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(660,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(671,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(696,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(706,22): run-time error CSS1039: Token not allowed after unary operator: '-success-bg'
(707,17): run-time error CSS1039: Token not allowed after unary operator: '-success-text'
(710,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow'
(717,17): run-time error CSS1039: Token not allowed after unary operator: '-success-text'
(744,22): run-time error CSS1039: Token not allowed after unary operator: '-card'
(745,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(746,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow'
(770,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(801,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(807,22): run-time error CSS1039: Token not allowed after unary operator: '-border'
(825,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(833,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(862,35): run-time error CSS1039: Token not allowed after unary operator: '-border'
(876,22): run-time error CSS1039: Token not allowed after unary operator: '-primary-soft'
(877,17): run-time error CSS1039: Token not allowed after unary operator: '-primary-dark'
(888,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(909,22): run-time error CSS1039: Token not allowed after unary operator: '-warning-bg'
(910,28): run-time error CSS1039: Token not allowed after unary operator: '-warning-border'
(911,17): run-time error CSS1039: Token not allowed after unary operator: '-warning-text'
(931,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(977,46): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(977,62): run-time error CSS1039: Token not allowed after unary operator: '-accent'
(984,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1002,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1024,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1036,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1044,17): run-time error CSS1039: Token not allowed after unary operator: '-primary-dark'
(1054,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1058,17): run-time error CSS1039: Token not allowed after unary operator: '-text'
(1071,28): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1107,17): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1133,35): run-time error CSS1039: Token not allowed after unary operator: '-border'
(1170,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1193,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1205,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1211,22): run-time error CSS1039: Token not allowed after unary operator: '-faq-bg'
(1268,21): run-time error CSS1039: Token not allowed after unary operator: '-muted'
(1321,28): run-time error CSS1039: Token not allowed after unary operator: '-line'
(1378,46): run-time error CSS1039: Token not allowed after unary operator: '-pink'
(1378,59): run-time error CSS1039: Token not allowed after unary operator: '-pink-dark'
 */
.profile-menu {
    cursor: pointer;
    position: absolute;
    right: 15px;
    display: none;
    top: 45px;
}
.check-data::before {
    animation: check-data-progress 2s 1 forwards;
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0em;
    text-align: right;
    color: #4A4A4A
}
.usage-summary .item{
    display:grid;
    gap:10px;
    align-items:center;
}
.usage-summary .item span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.check-data {
    background: radial-gradient(closest-side,white 79%,transparent 80% 100%),conic-gradient(#EF4F78 calc(var(--progress-value) * 1%),#D9D9D9 0);
    animation: check-data-progress 2s 1 forwards
}

    .check-data::before {
        animation: check-data-progress 2s 1 forwards
    }

progress {
    visibility: hidden;
    width: 0;
    height: 0
}

.main-esim-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: calc(100% - 64px)
}

    .main-esim-data strong {
        font-weight: 600;
        line-height: 21px;
        letter-spacing: 0em;
        text-align: center;
        margin-bottom: 35px
    }
.store-esims_item{
    margin-top:20px;
}
.manage-esims_wrap .store-esims_item {
    margin-bottom: 25px
}
.store-esims_item .container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.product-details, .esim-details{
    width: 80%;
    margin: 0 auto;
}
.esim-warning {
    background: var(--warning-bg);
    padding: 20px;
    display: grid;
    gap: 18px;
    margin-bottom: 18px;
    border: 1px solid var(--warning-border);
    border-radius: 16px;
}
.items-data-checked {
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    width: 100%;
    text-transform: uppercase
}

    .items-data-checked .item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        border-bottom: 1px solid #343A4040;
        padding: 0 20px;
        height: 50px
    }

        .items-data-checked .item p {
            margin: 0;
            display: flex;
            align-items: center
        }

            .items-data-checked .item p img {
                margin-right: 6px
            }

.main-esim-data .btn {
    margin-bottom: 20px
}


.main-account_left_top {
    background-color: #fff;
    box-shadow: 0px 0px 10px 0px #0000001A;
    border-radius: 5px
}

.main-account_left {
    width: 363px;
    color: #343A40
}

.user-box {
    border-bottom: 1px solid #00000033;
    min-height: 90px;
    display: flex;
    gap: 20px;
    align-items: center;
    padding-left: 20px;
}

    .user-box h3 {
        margin: 0;
        display: flex;
        flex-direction: column;
        font-size: 21px;
        font-weight: 600;
        line-height: 27px
    }

        .user-box h3 span.position {
            font-weight: 400;
            line-height: 20px;
            margin-top: 5px;
            font-size: 14px;
        }


.main-account_left_top ul a {
    display: flex;
    position: relative;
    width: 100%;
    padding: 0 20px;
    border-bottom: 1px solid #00000033;
    min-height: 56px;
    align-items: center;
    color: #343A40;
    font-weight: 400;
    line-height: 20px;
    text-transform: capitalize
}

.main-account a.active {
    background: #343A4040;
}

.main-account_left_top ul a:hover {
    background: #343A4040;
}

.main-account_left_top ul a:after {
    content: '';
    background-image: url(/assets/images/arrow-right-black.svg);
    width: 7px;
    height: 10px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 20px
}

.btn_account_bottom a {
    color: #F2222E;
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
}

.btn_account_bottom {
    box-shadow: 0px 0px 10px 0px #0000001A;
    height: 60px;
    display: flex;
    padding: 0 20px;
    align-items: center;
    font-weight: 400;
    line-height: 20px;
    border-radius: 5px;
    text-transform: capitalize;
    cursor: pointer;
    position: relative
}


.main-account_left_top ul li:last-child a {
    border: none
}

.main-account {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.main-account_right {
    width: calc(100% - 363px);
    padding-left: 125px
}

.main-account_right_bottom {
    border-top: 1px solid #00000033;
    padding-top: 20px;
    padding-bottom: 40px
}

    .main-account_right_bottom h3 {
        margin: 0;
        font-size: 21px;
        font-weight: 600;
        line-height: 27px;
        letter-spacing: 0em;
        text-align: left;
        color: #4A4A4A;
        margin-bottom: 10px
    }

    .main-account_right_bottom p {
        margin: 0 0 20px;
        max-width: 356px;
        line-height: 20px;
        letter-spacing: 0em;
        text-align: left
    }

button.delete-account-btn {
    border: 1px solid #EE1F44;
    background-color: #fff;
    width: 165px;
    height: 28px;
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0em;
    text-align: center;
    border-radius: 5px;
    cursor: pointer;
    color: #EE1F44;
    text-transform: uppercase
}

#order-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.membership-level {
    padding: 20px;
    border: 1px solid;
    border-radius: 10px;
    box-shadow: 0 10px 30px 0 rgba(0,0,0,.15);
}

.membership-progress {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid;
    border-radius: 10px;
    box-shadow: 0px 0px 10px 0px #0000001A;
}

.membership-progress-top {
    text-transform: uppercase;
    padding-bottom: 10px;
    border-bottom: 1px solid;
    font-weight: 600;
}

.membership-progress .progress {
    height: 15px;
    background: #eee;
    border-radius: 5px;
}

.membership-progress .level {
    margin: 10px 0;
    display: flex;
    justify-content: space-between;
    font-weight: 600;
}

    .membership-progress .level span {
        display: block;
    }

    .membership-progress .level .next-level {
        text-align: right;
    }

.membership-progress .current-progress {
    height: 15px;
    border-radius: 5px;
    background-image: linear-gradient(90deg, rgb(96, 105, 129) 0%, rgb(150, 154, 160) 100%);
}

.membership-progress .remaining {
    margin: 10px 0;
    text-align: center;
    font-weight: 400;
}

.membership-progress-content {
    margin-top: 20px;
}

.box-manage-esims {
    display: flex;
    justify-content: space-between;
    color: #4A4A4A;
    margin-top: 20px;
}

    .box-manage-esims > div {
        background-color: #fff;
        box-shadow: 0px 0px 10px 0px #00000040;
        border-radius: 5px;
        margin: 10px;
        width: 100%;
    }
.left-copy-code{
    width: 85%;
}
.left-copy-code strong {
    font-weight: 600;
    line-height: 18px;
    display: block;
    margin-bottom: 2px
}

.left-copy-code span {
    line-height: 18px;
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.esim-notice {
    border: 1px solid #FFA81A;
    border-radius: 5px;
    background: #FCE3C8;
    display: flex;
    align-items: center;
    padding: 10px;
    color: #EE1F44;
}
.esim-notice span{
    margin-left: 10px;
}
.esim-details ul li {
    display: flex;
    margin-bottom: 20px;
    justify-content: space-between;
}

.copy-code {
    background-image: url(/assets/images/copy.svg);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer
}

.btn-install {
    border: 1px solid #4A4A4A;
    box-shadow: 0px 0px 10px 0px #0000001A;
    height: 40px;
    border-radius: 5px;
    font-weight: 600;
    line-height: 20px;
    cursor: pointer;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}

.esim-install-bottom {
    padding: 0 20px;
}
.esim-detail-2 {
    margin-top: 30px;
}
.esim-warning > div {
    display: flex;
}
.esim-warning h4{
    margin-top:0;
    margin-bottom: 10px;
}
.esim-warning > div > div{
    margin-left: 20px;
}
.esim-guide h3 {
    font-weight: 600;
    letter-spacing: 0em;
    text-align: center;
    border-bottom: 1px solid #343A4040;
    font-size: 21px;
    line-height: 27px;
    margin: 0;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.esim-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-top: 30px;
}
    .esim-guide > div {
        border-radius: 5px;
        box-shadow: 0px 0px 10px 0px #00000040;
        padding: 20px;
    }
.esim-install-instruction{
    margin-top:20px;
    line-height: 28px;
}
.esim-install select {
    border: 1px solid #B8B8B8;
    border-radius: 5px;
    padding: 10px;
}
.main-esim-data > p {
    font-weight: 400;
    line-height: 18px;
    text-align: center;
    margin: 22px auto 0px
}

.progress-bar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px;
}
.esim-install-qrcode {
    padding: 10px;
    text-align: center;
}
.esim-install-qrcode .tooltip{
    background-color:#FFF;
}
.esim-install-qrcode > div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:10px;
}
.item-payment {
    height: 75px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    box-shadow: 0px 0px 10px 0px #0000001A;
    padding: 0 18px;
    cursor: pointer;
    font-weight: 400;
    line-height: 20px;
    color: #343A40;
    background-color: #fff;
    position: relative
}

    .item-payment img {
        margin-right: 15px
    }

.head-popup h2 {
    margin: 0 auto
}

.card-element {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 4px;
    padding: 10px 20px;
    border: 1px solid;
    height: 50px;
    margin-top: 10px;
}

.field.field-expiration {
    width: 65%
}

.field.field-cvv {
    width: calc(35% - 10px)
}

.text-bottom-form h3 {
    margin-bottom: 10px
}

.text-bottom-form a {
    color: #6C757D;
    text-decoration: underline
}


.main-esim-data-checked {
    display: none
}

    .main-esim-data-checked.active {
        display: flex
    }
#order-list, #show-more-orders {
    margin-bottom: 20px;
}
.order-item {
    display: flex;
    width: 100%;
    justify-content: space-between;
    border-bottom: 1px solid #00000033;
    padding: 10px 20px;
    align-items: center;
    cursor: pointer;
}

.order-info {
    margin-left: 10px;
    line-height: 20px;
}
.order-info span{
    font-size: 13px;
}
.order-left {
    display: flex;
    align-items: center;
    width: 70%;
}
.order-right{
    width: 30%;
}
.order-right a {
    width: 100%;
    padding: 5px;
    margin: 5px;
    background: linear-gradient(180deg, #EF4F78 0%, #EE1F44 100%);
    color: #fff;
    border: none;
    border-radius: 5px;
    display: block;
    text-align: center;
    cursor:pointer;
    font-size: 13px;
}
@property --progress-value {
    syntax: '<integer>';
    inherits: false;
    initial-value: 0
}

@media screen and (min-width:769px) {
    .esim-install-instruction {
        height: 440px;
    }
}

@media screen and (max-width:1200px) {
    .main-account_right {
        padding-left: 50px
    }
}

@media screen and (max-width:768px) {
    .profile-menu{
        display:block;
    }
    .order-item {
        padding: 10px 0;
    }
    .store-esims_item .container, .esim-warning, .esim-guide {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .product-details, .esim-details{
        width: 100%;
    }
    .main-account_left {
        width: 100%;
        display: none;
        position: absolute;
        top: 160px;
        left: 0;
        background: #FFF;
        z-index: 99;
    }

    .main-account_right {
        padding-left: 0;
        width: 100%;
    }

    .box-manage-esims {
        flex-direction: column
    }

        .box-manage-esims > div {
            width: 100%
        }
    #order-list {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}
@media screen and (max-width:450px) {
    .main-profile ul {
        grid-template-columns: repeat(1,minmax(0,1fr));
        gap: 10px 10px !important
    }
}
:root {
    --line: #ececf1;
    --pink: #ef4b78;
    --pink-dark: #e33a69;
    --primary: #ff3b5c;
    --primary-dark: #d91e49;
    --accent: #ff6b81;
    --primary-soft: #fff1f4;
    --text: #1a1a1f;
    --muted: #6b6d78;
    --border: #ececf2;
    --bg: #f7f8fb;
    --card: #ffffff;
    --shadow: 0 14px 34px rgba(21, 24, 36, 0.08);
    --radius: 20px;
    --success-bg: #ecfff4;
    --success-text: #0a8a50;
    --warning-bg: #fff7eb;
    --warning-border: #ffd08a;
    --warning-text: #a26412;
    --faq-bg: #fff1f4;
}

.page {
    max-width: 1240px;
    margin: 0 auto;
    padding: 28px 20px 64px;
}

.breadcrumb {
    font-size: 14px;
    color: var(--muted);
    margin-bottom: 20px;
}

    .breadcrumb span {
        margin: 0 8px;
        color: #b5b8c3;
    }

.hero {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 24px;
}

    .hero h1 {
        margin: 0;
        letter-spacing: -0.03em;
    }

    .hero p {
        margin: 8px 0 0;
        color: var(--muted);
        max-width: 720px;
    }

.status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: var(--success-bg);
    color: var(--success-text);
    font-size: 14px;
    font-weight: 800;
    box-shadow: var(--shadow);
}

.status-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--success-text);
    font-weight: 700;
}

    .status .dot,
    .status-inline .dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #16b165;
    }

.details-layout {
    display: grid;
    grid-template-columns: 1.04fr 0.96fr;
    gap: 22px;
    margin-bottom: 22px;
}

.lower-layout {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 22px;
    margin-bottom: 22px;
}

.card {
    background: var(--card);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.overview-card,
.install-card,
.guide-card,
.usage-card,
.faq-card {
    padding: 24px;
}

    .overview-card > h3,
    .install-card > h3,
    .guide-card h3,
    .usage-card h3,
    .faq-card h3 {
        margin: 0 0 18px;
        font-size: 24px;
        letter-spacing: -0.03em;
    }

.section-copy {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 15px;
}

.overview-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.title-block {
    flex: 1;
    min-width: 0;
}
    .title-block h4{
        font-size:1.2em;
    }
    .title-block h2 {
        margin: 0;
        font-size: clamp(28px, 3vw, 36px);
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

.subline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    margin-top: 10px;
    color: var(--muted);
    font-size: 14px;
}

.overview-divider {
    height: 1px;
    background: var(--border);
    margin: 18px 0;
}

.expiry-row {
    font-size: 18px;
    margin-bottom: 16px;
}

.spec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.spec-box {
    background: #f9fafc;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    min-height: 94px;
}

.spec-label {
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 8px;
}

.spec-value {
    font-size: 16px;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
}

        .spec-value.small a {
            text-decoration: none;
        }

.coverage-card {
    margin-top: 8px;
    border: 1px solid rgba(255, 59, 92, 0.12);
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
}

.coverage-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-bottom: 1px solid var(--border);
}

    .coverage-top strong {
        font-size: 16px;
    }

.pill-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 59, 92, 0.2);
    background: var(--primary-soft);
    color: var(--primary-dark);
    font-weight: 800;
    font-size: 14px;
}

.coverage-bottom {
    padding: 14px 16px 16px;
}

.coverage-iccid-label {
    display: block;
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 8px;
}

.coverage-iccid-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.coverage-iccid-value {
    font-size: 16px;
    font-weight: 700;
    word-break: break-all;
}

.warning {
    display: flex;
    gap: 12px;
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    color: var(--warning-text);
    border-radius: 16px;
    padding: 14px 16px;
    font-size: 14px;
}

    .warning .icon {
        font-size: 18px;
    }

.overview-warning {
    margin-top: 18px;
}

.install-methods {
    display: grid;
    gap: 18px;
}

.method-box {
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    background: #fff;
}

.method-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.method-title {
    font-weight: 800;
    font-size: 17px;
}

.btn-row {
    display: grid;
    gap: 10px;
}

.install-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

    .btn:hover {
        transform: translateY(-1px);
    }

.btn-blue {
    color: #fff;
    background: linear-gradient(135deg, #3a86ff, #2468f2);
    box-shadow: 0 10px 22px rgba(37, 104, 242, 0.2);
}

.btn-green {
    color: #fff;
    background: linear-gradient(135deg, #30c979, #14a85a);
    box-shadow: 0 10px 22px rgba(20, 168, 90, 0.2);
}

.btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    box-shadow: 0 12px 24px rgba(255, 59, 92, 0.22);
}

.help-inline,
.manual-copy,
.qr-copy {
    color: var(--muted);
    font-size: 13px;
}

.qr-layout {
    display: grid;
    gap: 18px;
}

.qr-scan-layout {
    grid-template-columns: 180px 1fr;
    align-items: center;
}

.qr-box {
    width: 180px;
    aspect-ratio: 1;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 14px;
    display: grid;
    place-items: center;
}

.manual-grid {
    display: grid;
    gap: 12px;
}

.manual-grid-static {
    margin-top: 0;
}

.manual-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

    .manual-item strong {
        display: block;
        font-size: 13px;
        margin-bottom: 2px;
    }

    .manual-item span {
        color: var(--muted);
        font-size: 14px;
        word-break: break-all;
    }

.copy-btn {
    border: 0;
    background: transparent;
    color: var(--primary-dark);
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.device-select {
    width: 100%;
    height: 46px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    padding: 0 14px;
    font: inherit;
    color: var(--text);
    margin: 8px 0 18px;
}

.step-list > div{
    display: grid;
    gap: 18px;
}

.step-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
    padding: 18px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.step-number {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800;
    font-size: 22px;
    flex: 0 0 44px;
}

    .step-number.green {
        background: linear-gradient(135deg, #6fc57a, #4baa56);
    }

    .step-number.blue {
        background: linear-gradient(135deg, #6aa7ff, #3578e5);
    }

.step-content h4 {
    margin: 2px 0 10px;
    font-size: 18px;
    letter-spacing: -0.02em;
}

.step-content ul {
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 15px;
}

.step-content li + li {
    margin-top: 8px;
}

.usage-box {
    border: 1px dashed rgba(255, 59, 92, 0.22);
    border-radius: 20px;
    background: linear-gradient(180deg, #fff 0%, #fff6f8 100%);
}

.usage-box-enhanced {
    display: block;
    text-align: left;
    padding: 22px;
}

.usage-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 18px;
}

.usage-ring-large {
    width: 220px;
    height: 220px;
    margin: 0 auto;
    border-radius: 50%;
    background: conic-gradient(#f85d8d 0 0%, #b7d6b5 0% 100%);
    display: grid;
    place-items: center;
    position: relative;
}

    .usage-ring-large::after {
        content: "";
        position: absolute;
        inset: 16px;
        border-radius: 50%;
        background: #fff;
    }

.usage-ring-center {
    position: relative;
    z-index: 1;
    text-align: center;
    display: grid;
    gap: 4px;
}

    .usage-ring-center strong {
        font-size: 24px;
        line-height: 1;
    }

    .usage-ring-center span {
        color: var(--muted);
        font-size: 16px;
    }

.usage-stats {
    display: grid;
    gap: 16px;
    align-content: center;
}

.usage-stat {
    display: grid;
    gap: 4px;
}

    .usage-stat strong {
        font-size: 28px;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    .usage-stat span,
    .usage-meta {
        color: var(--muted);
        font-size: 16px;
    }

.usage-footer {
    display: grid;
    gap: 16px;
    justify-items: start;
}

    .usage-footer p {
        margin: 0;
        color: var(--muted);
        font-size: 16px;
        max-width: 520px;
    }

.faq-card {
    background: var(--faq-bg);
}

.faq-list {
    display: grid;
    gap: 12px;
    margin-top: 10px;
}

.faq-item {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 18px;
    overflow: hidden;
    padding:0;
}

    .faq-item summary {
        padding: 18px;
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        gap: 14px;
        align-items: center;
        list-style: none;
        position:relative;
        padding-right:26px;
    }
        .faq-item summary:before {
            content: '';
            background-image: url(/assets/images/arrow-down.svg);
            color: #000;
            width: 16px;
            height: 16px;
            position: absolute;
            right: 10px;
            background-repeat: no-repeat;
            background-position: center;
            top: calc(50% - 8px);
            transition-duration: .5s;
            background-size: contain;
        }
        details[open] summary:before{
            transform: rotate(-90deg);
        }

        .faq-item summary::-webkit-details-marker {
            display: none;
        }
    .faq-item:before{
        display:none;
    }

    .faq-content {
        padding: 0 18px 18px;
        color: var(--muted);
        font-size: 14px;
    }

@media (max-width: 1080px) {
    .details-layout,
    .lower-layout,
    .usage-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .page {
        padding: 22px 14px 44px;
    }

    .install-grid-two,
    .qr-scan-layout {
        grid-template-columns: 1fr;
    }

    .qr-box {
        width: min(220px, 100%);
    }
}

@media (max-width: 560px) {
    .overview-card,
    .install-card,
    .guide-card,
    .usage-card,
    .faq-card {
        padding: 18px;
    }

    .coverage-top,
    .coverage-iccid-row,
    .step-card {
        align-items: start;
        flex-direction: column;
    }

    .manual-item {
        align-items: start;
    }

    .usage-ring-large {
        width: 180px;
        height: 180px;
    }
}
.esim-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 4px 12px rgba(30, 31, 41, 0.03);
}

.esim-head {
    margin-bottom: 14px;
    border-bottom: 1px solid #eee;
    padding-bottom:10px;
}
.esim-head img{
    margin-top:4px;
}

.title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.title-text h2 {
    margin: 0;
    font-size: 17px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.info-list {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.info-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    font-size: 15px;
}

.info-label {
    color: #59606e;
}

.info-value {
    font-weight: 600;
    color: #23252d;
    text-align: right;
}

.actions {
    display: grid;
}

.btn.primary {
    background: linear-gradient(135deg, var(--pink), var(--pink-dark));
    box-shadow: 0 8px 18px rgba(239, 75, 120, 0.25);
    width: 100%;
    text-transform: capitalize;
    font-size: 1em;
}
