/* ============================================================
   changePinModal.css
   Parental PIN Change modal styles — 1080p baseline + 720p overrides.
   Uses rgba(var(token_name)) build-time color tokens only.
   No display:grid, no CSS var(--), no vh/vw, no object-fit.
   All transforms use -webkit- prefixes for Chromium 38 (webOS 3).
   ============================================================ */

/* ---- Full-screen backdrop ---- */

.cp-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 1920px;
    height: 1080px;
    background: rgba(12,12,14,0.8);
    z-index: 300;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

/* ---- PIN change modal container ---- */

.cp-modal {
    position: relative;
    width: 1031px;
    background: rgba(21,24,30,1);
    border-radius: 8px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
}

/* ---- Modal content section (title + body) ---- */

.cp-modal-content {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 48px;
}

/* ---- Modal title ---- */

.cp-title {
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 38px;
    font-weight: 700;
    line-height: normal;
    color: rgba(231,239,254,1);
    text-align: center;
    margin-bottom: 32px;
    margin-top: 0;
}

/* ---- Modal body (left panel + numpad, side by side) ---- */

.cp-modal-body {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

/* ---- Left panel: subtitle + PIN boxes + error ---- */

.cp-left {
    -webkit-flex: 1 0 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-right: 40px;
}

.cp-subtitle {
    font-family: 'TV2ZFont-regular', sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: normal;
    color: rgba(231,239,254,1);
    margin-bottom: 66px;
    margin-top: 0;
    width: 651px;
}

/* ---- PIN input boxes row ---- */

.cp-pin-boxes {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 8px;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-justify-content: center;
}

.cp-pin-box {
    width: 78px;
    height: 78px;
    background: rgba(21,24,30,1);
    border: 2px solid rgba(72,75,81,1);
    border-radius: 4px;
    margin-right: 8px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.cp-pin-box:last-child {
    margin-right: 0;
}

.cp-pin-box span {
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 40px;
    font-weight: 700;
    color: rgba(231,239,254,1);
    text-align: center;
    line-height: 78px;
    position: absolute;
    top: 58%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
}

.cp-pin-box.error {
    border-color: rgba(223,45,32,1) !important;
}

.cp-pin-box.filled {
    border-color: rgba(22,100,243,1);
}

/* ---- Inline error text ---- */

.cp-error {
    font-family: 'TV2ZFont-regular', sans-serif;
    font-size: 24px;
    font-weight: 500;
    color: rgba(223,45,32,1);
    text-align: left;
    min-height: 30px;
    width: 336px;
    margin: 0 auto;
    opacity: 0;
    -webkit-transition: opacity 0.15s ease;
    transition: opacity 0.15s ease;
}

.cp-error.visible {
    opacity: 1;
}

/* ---- Numpad container ---- */

.cp-numpad {
    background: rgba(35,37,42,1);
    padding: 24px;
    border-radius: 4px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.cp-numpad-row {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 16px;
}

.cp-numpad-row:last-child {
    margin-bottom: 0;
}

.cp-numpad-key {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    margin-right: 16px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    cursor: pointer;
    font-family: 'TV2ZFont-regular', sans-serif;
    font-size: 36px;
    font-weight: 400;
    color: rgba(231,239,254,1);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background 0.12s ease, border-color 0.12s ease;
    transition: background 0.12s ease, border-color 0.12s ease;
    border: 2px solid transparent;
}

.cp-numpad-key:last-child {
    margin-right: 0;
}

.cp-numpad-key.focused {
    background: rgba(22,100,243,0.4);
    border-color: rgba(22,100,243,1);
}

.cp-numpad-icon {
    width: 32px;
    height: 32px;
    display: block;
}

/* ---- Bottom buttons (Next + Cancel) ---- */

.cp-bottom-buttons {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.cp-btn {
    width: 100%;
    height: 72px;
    border-radius: 4px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: rgba(231,239,254,1);
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid transparent;
    -webkit-transition: background 0.12s ease, border-color 0.12s ease;
    transition: background 0.12s ease, border-color 0.12s ease;
    margin-bottom: 16px;
}

.cp-btn:last-child {
    margin-bottom: 0;
}

.cp-next-btn,
.cp-cancel-btn {
    background: rgba(207,223,252,0.3);
}

.cp-btn.focused {
    background: rgba(22,100,243,0.4);
    border-color: rgba(22,100,243,1);
}

/* ---- Change Pin row (entry point in parental-control-section) ---- */

#change-pin-row {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 92px;
    padding-left: 16px;
    padding-right: 20px;
    border-radius: 4px;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid transparent;
    -webkit-transition: background 0.12s ease, border-color 0.12s ease;
    transition: background 0.12s ease, border-color 0.12s ease;
    width: 100%;
}

#change-pin-row.focused {
    background: rgba(22,100,243,0.4);
    border-color: rgba(22,100,243,1);
}

.change-pin-label {
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: rgba(231,239,254,1);
    white-space: nowrap;
}

/* ---- Success modal backdrop ---- */

.cp-success-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 1920px;
    height: 1080px;
    background: rgba(12,12,14,0.8);
    z-index: 301;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

/* ---- Success modal box ---- */

.cp-success-modal {
    width: 600px;
    background: rgba(21,24,30,1);
    border-radius: 8px;
    padding: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow: hidden;
}

.cp-success-icon-wrap {
    width: 80px;
    height: 80px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}

.cp-success-icon-img {
    width: 80px;
    height: 80px;
    display: block;
}

.cp-success-title {
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: rgba(231,239,254,1);
    text-align: center;
    line-height: normal;
    margin-bottom: 24px;
    margin-top: 0;
    width: 100%;
}

.cp-success-subtitle {
    font-family: 'TV2ZFont-regular', sans-serif;
    font-size: 24px;
    font-weight: 500;
    color: rgba(231,239,254,1);
    text-align: center;
    line-height: normal;
    margin-bottom: 40px;
    margin-top: 0;
    width: 100%;
}

#change-pin-success-ok {
    width: 100%;
    height: 72px;
    border-radius: 4px;
    background: rgba(22,100,243,0.4);
    border: 3px solid rgba(22,100,243,1);
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: 'TV2ZFont-bold', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: rgba(231,239,254,1);
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background 0.12s ease, border-color 0.12s ease;
    transition: background 0.12s ease, border-color 0.12s ease;
    margin-bottom: 0;
}

/* ============================================================
   720p overrides (~0.667× scale)
   @media screen and (max-width: 1280px) and (min-width: 720px)
   ============================================================ */

@media screen and (max-width: 1280px) and (min-width: 720px) {

    .cp-backdrop,
    .cp-success-backdrop {
        width: 1280px;
        height: 720px;
    }

    .cp-modal {
        width: 687px;
        padding: 27px;
        border-radius: 5px;
    }

    .cp-modal-content {
        margin-bottom: 32px;
    }

    .cp-title {
        font-size: 25px;
        margin-bottom: 21px;
    }

    .cp-subtitle {
        font-size: 19px;
        margin-bottom: 44px;
        width: 434px;
    }

    .cp-pin-box {
        width: 52px;
        height: 52px;
        margin-right: 5px;
        border-radius: 3px;
    }

    .cp-pin-box span {
        font-size: 27px;
        line-height: 52px;
    }

    .cp-error {
        font-size: 16px;
        min-height: 20px;
        width: 223px;
    }

    .cp-numpad {
        padding: 16px;
        border-radius: 3px;
    }

    .cp-numpad-row {
        margin-bottom: 11px;
    }

    .cp-numpad-key {
        width: 40px;
        height: 40px;
        font-size: 24px;
        margin-right: 11px;
        border-radius: 3px;
    }

    .cp-numpad-icon {
        width: 21px;
        height: 21px;
    }

    .cp-btn {
        height: 48px;
        font-size: 19px;
        margin-bottom: 11px;
        border-radius: 3px;
    }

    #change-pin-row {
        height: 61px;
        padding-left: 11px;
        padding-right: 13px;
        border-radius: 3px;
    }

    .change-pin-label {
        font-size: 19px;
    }

    .cp-success-modal {
        width: 400px;
        padding: 27px;
        border-radius: 5px;
    }

    .cp-success-icon-wrap {
        width: 53px;
        height: 53px;
        margin-bottom: 27px;
    }

    .cp-success-icon-img {
        width: 53px;
        height: 53px;
    }

    .cp-success-title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .cp-success-subtitle {
        font-size: 16px;
        margin-bottom: 27px;
    }

    #change-pin-success-ok {
        height: 48px;
        font-size: 19px;
        border-radius: 3px;
        border-width: 2px;
    }
}
