@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');

:root {
    --bg: #f7f5f4;
    --card: #ffffff;
    --card2: #f8f3f2;
    --border: #e9e3e1;
    --text: #2a1c1c;
    --muted: #6a5755;
    --muted2: #8a7673;
    --good: #0e9f6e;
    --warn: #cc7a00;
    --bad: #c9243f;
    --accent: #e0003c;
    --accent-soft: #fce6ec;
    --blue: #c9243f;

    --r: 18px;
    --shadow: 0 12px 38px rgba(0, 0, 0, .08);
    --font: 'Montserrat', 'Inter', 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Arial;
}

.hidden {
    display: none !important;
}

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    background: radial-gradient(1100px 600px at 15% -10%, rgba(224, 0, 60, .08), transparent 55%),
    radial-gradient(900px 500px at 90% 0%, rgba(201, 36, 63, .08), transparent 50%),
    var(--bg);
    color: var(--text);
    font-family: var(--font);
    line-height: 1.5;
}

.app {
    max-width: 960px;
    margin: 0 auto;
    padding: 18px 16px 28px;
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
}

.top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.title {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .1px;
    text-align: center;
    margin-top: 40px;
}

.subtitle {
    margin-top: 4px;
    color: var(--muted);
    font-size: 14px;
}

.badge {
    padding: 8px 12px;
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 999px;
    color: var(--muted);
    font-size: 12px;
    white-space: nowrap;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
}

.card {
    border: 1px solid var(--border);
    background: linear-gradient(180deg, #fff, #fdfbfa);
    box-shadow: var(--shadow);
    border-radius: var(--r);
    padding: 16px;
}

.controls {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}


.upload input {
    display: none;
}


button {
    border-radius: 14px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    padding: 10px 14px;
    cursor: pointer;
    user-select: none;
    transition: transform .08s ease, box-shadow .2s ease, opacity .2s ease, border-color .2s ease;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .05);
}

button:active {
    transform: translateY(1px);
}

button:disabled {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
}

button.primary {
    border-color: rgba(224, 0, 60, .35);
    background: linear-gradient(135deg, #e0003c, #f04f76);
    color: #fff;
    font-weight: 750;
    box-shadow: 0 10px 32px rgba(224, 0, 60, .18);
}

button.primary:hover {
    box-shadow: 0 12px 34px rgba(224, 0, 60, .22);
}

button.ghost {
    background: var(--card2);
}

.statusWrap {
    margin-top: 12px;
    display: grid;
    gap: 8px;
}

.status {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}

.status .dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--blue);
    box-shadow: 0 0 0 6px rgba(224, 0, 60, .10);
}

.status.loading .dot {
    animation: pulse 1.1s ease-in-out infinite;
}

.status.ok .dot {
    background: var(--good);
    box-shadow: 0 0 0 6px rgba(14, 159, 110, .12);
}

.status.warn .dot {
    background: var(--warn);
    box-shadow: 0 0 0 6px rgba(204, 122, 0, .12);
}

.status.err .dot {
    background: var(--bad);
    box-shadow: 0 0 0 6px rgba(201, 36, 63, .12);
}

.status .text {
    color: var(--text);
    font-weight: 620;
}

.quality {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.stageWrap {
    margin-top: 12px;
}

.stage {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: #f0e8e7;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .06);
}

canvas {
    width: 100%;
    height: auto;
    display: block;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s ease, transform .25s ease;
}

canvas.ready {
    opacity: 1;
    transform: translateY(0);
}

canvas.interactive {
    cursor: pointer;
}

.zonePopup {
    position: absolute;
    max-width: min(280px, calc(100% - 16px));
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 12px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .10);
    transform-origin: top;
    animation: fadeIn .18s ease both;
    z-index: 5;
}

.zonePopup.hidden {
    display: none !important;
}

.zonePopupTitle {
    font-weight: 750;
    margin-bottom: 4px;
}

.zonePopupFact {
    color: var(--muted2);
    font-size: 14px;
}

.overlayLoader {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, .55);
    backdrop-filter: blur(6px);
    animation: fadeIn .2s ease both;
}

.overlayLoader.hidden {
    display: none !important;
}

.spinner {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 3px solid rgba(0, 0, 0, .08);
    border-top-color: rgba(201, 36, 63, .85);
    animation: spin .8s linear infinite;
}

.overlayText {
    color: var(--text);
    font-weight: 650;
}

.result {
    margin-top: 12px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    padding: 12px;
    animation: fadeInUp .25s ease both;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}

.hidden {
    display: none !important;
}

.resultHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.resultTitle {
    color: var(--muted);
    font-size: 12px;
}

.courseName {
    font-size: 18px;
    font-weight: 780;
    margin-top: 2px;
}

.courseShort {
    margin-top: 6px;
    color: var(--muted2);
    font-size: 14px;
    line-height: 1.35;
    white-space: pre-line;
}

.why {
    margin-top: 12px;
    color: var(--muted);
    line-height: 1.45;
}

.why ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

.why li {
    margin: 6px 0;
}

.whyTitle {
    font-weight: 700;
    color: var(--text);
}

.ctaRow {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.disclaimer {
    margin-top: 10px;
    font-size: 12px;
    color: var(--muted2);
    text-align: center;
}

.foot {
    margin-top: 10px;
    color: var(--muted2);
    font-size: 12px;
    text-align: center;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: .85;
    }
    50% {
        transform: scale(1.15);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: .85;
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#desktopBlock {
    position: fixed;
    inset: 0;
    background: #0f1220;
    color: #fff;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.desktopWrap {
    max-width: 360px;
    padding: 24px;
    margin: 0 auto;
    text-align: center;
}

.desktopWrap h1 {
    font-size: 22px;
    margin-bottom: 12px;
}

.desktopWrap p {
    font-size: 15px;
    opacity: 0.85;
    margin-bottom: 16px;
}

.desktopWrap img {
    border-radius: 12px;
    background: #fff;
    padding: 10px;
    display: block;
    margin:0 auto;
}

.desktopLink {
    margin-top: 14px;
    font-size: 12px;
    opacity: 0.6;
    word-break: break-all;
}

/* Result staged reveal */
.result.is-ready .resultTitle,
.result.is-ready .courseName,
.result.is-ready .courseShort,
.result.is-ready .why,
.result.is-ready .ctaRow,
.result.is-ready .disclaimer {
    opacity: 0;
    transform: translateY(6px);
    animation: revealUp .38s ease forwards;
}

.result.is-ready .resultTitle {
    animation-delay: .02s;
}

.result.is-ready .courseName {
    animation-delay: .10s;
}

.result.is-ready .courseShort {
    animation-delay: .14s;
}

.result.is-ready .why {
    animation-delay: .20s;
}

.result.is-ready .ctaRow {
    animation-delay: .28s;
}

.result.is-ready .disclaimer {
    animation-delay: .34s;
}

@keyframes revealUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.courseCard {
    display: block;
    gap: 10px;
    grid-template-columns: 96px 1fr;
    text-decoration: none;
    color: inherit;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    transition: box-shadow .2s ease, transform .08s ease, border-color .2s ease;
    background: linear-gradient(135deg, #fff, #fff7f8);
}

.courseCard:hover {
    border-color: rgba(224, 0, 60, .22);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
}

.courseCard:active {
    transform: translateY(1px);
}

.courseImageWrap {
    width: 96px;
    height: 96px;
    border-radius: 10px;
    overflow: hidden;
    background: #f2eceb;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.courseImageWrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.courseBody {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 12px;
}

.why ul + #extraCourses {
    margin-top: 10px;
}

.why #extraCourses ol {
    margin: 6px 0 0 18px;
    padding: 0;
}

@media (max-width: 640px) {
    .courseCard {
        grid-template-columns: 1fr;
    }

    .courseImageWrap {
        width: 100%;
        height: 180px;
    }
}

.hidden {
    display: none !important;
}

.zoneLegend {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(6px);
}

.zoneChip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    cursor: pointer;
    user-select: none;
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: transform 220ms ease, opacity 220ms ease;
}

.zoneChip:hover {
    transform: translateY(-1px);
}

.zoneDot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex: 0 0 10px;
}

.zoneChip.is-active {
    opacity: 1;
    border-color: rgba(0, 0, 0, 0.18);
}

.zoneChip:not(.is-active) {
    opacity: 0.92;
}

.overlayLoader {
    pointer-events: none;
}

.overlayLoader.hidden {
    display: none;
}

.del {
    display: none !important;
}

.photoload {
}

.photoload2 .photoload__wrap,
.photoload3 .photoload__wrap,
.photoload4 .photoload__wrap,
.photoload5 .photoload__wrap,
.photoload6 .photoload__wrap {
    padding-bottom: 10px;
}

.photoload__inner {
    margin: 0 auto;
    width: 100%;
}

.card {
    padding: 24px;
    border-radius: 20px;
    background: #fff;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.photoload__wrap {
    margin: 0 auto;
}

.photoload__title {
    font-size: 22px;
    line-height: 28px;
    text-align: center;
}

.photoload__title_small {
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}

.photoload__text {
    font-size: 15px;
    line-height: 20px;
}

.photoload__text span {
    font-weight: 600;
}

.uploadBtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #2C3E50;
    color: #fff;
    border-radius: 4px;
    -webkit-tap-highlight-color: transparent;
}

.photoload__button {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #fff;
    color: #2C3E50;
    border-radius: 4px;
    border: 1px solid #929FAC;
}

.photoload__descr {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    font-size: 11px;
    line-height: 13px;
}

.photoload__descr_big {
    padding-bottom: 0;
    width: 100%;
    font-size: 15px;
    line-height: 20px;
}

.photoload__box {
    padding: 20px 24px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    max-width: 250px;
    min-height: 250px;
}

.photoload__box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/border.svg);
}

.photoload__label {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background-color: #E2E2EE;
    z-index: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.photoload__label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 67px;
    height: 65px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/photo.svg);
    -webkit-tap-highlight-color: transparent;
}

.photoload__inp {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: -1;
}

.photoload__head {
    margin-top: 4px;
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 20px;
    color: #5C5994;
    text-align: center;
}

.photoload__box-text {
    margin-top: auto;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    color: #8C8ABC;
}

.photoload__label_load {
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: transparent;
    -webkit-animation: effect 1.2s linear infinite;
    animation: effect 1.2s linear infinite;
}

.photoload__label_load:before {
    background-image: url(/css/img/photoload/loader.svg);
}

.photoload3 .photoload__box {
    margin-bottom: 0;
}

.photoload3 .photoload__label:before {
    width: 100%;
    height: 100%;
}

@-webkit-keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.photoload__error {
    margin-top: 20px;
    padding-left: 20px;
    position: relative;
    font-size: 13px;
    line-height: 16px;
    color: #F16690;
}

.quality {
    display: none;
}

.photoload__error:before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 16px;
    height: 16px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/check_error.svg);
}

.photoload6 .photoload__box {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
}

.photoload6 .photoload__box:before {
    content: none;
}

.photoload__list {
    margin-top: 16px;
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4px;
}

.zoneLegend {
    margin-top: 16px;
    margin-bottom: 16px;
}

.photoload__item {
    padding: 6px 10px;
    border-radius: 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ctaRow button {
    display: block;
}

.photoload__item:nth-child(1) {
    border: 1px solid #000000;
    background-color: rgba(108, 156, 245, 0.15);
}

.photoload__item:nth-child(2) {
    border: 1px solid #4CB97F;
    background: rgba(76, 185, 127, 0.15);
}

.photoload__item:nth-child(3) {
    border: 1px solid #9D6FE5;
    background: rgba(157, 111, 229, 0.15);
}

.photoload__item:nth-child(4) {
    border: 1px solid #E6595F;
    background: rgba(230, 89, 95, 0.15);
}

.photoload__item:nth-child(5) {
    border: 1px solid #E3B311;
    background: rgba(227, 179, 17, 0.15);
}

.photoload__item:nth-child(6) {
    border: 1px solid #D46AA5;
    background: rgba(212, 106, 165, 0.15);
}

.photoload__item:nth-child(7) {
    border: 1px solid #888;
    background: rgba(136, 136, 136, 0.15);
}

.photoload__card {
    margin-top: 10px;
    margin-bottom: 24px;
    margin-right: auto;
    margin-left: auto;
    width: 276px;
    height: 190px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
    background-color: #D9D9D9;
}

.example {
    display: -ms-grid;
    display: grid;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: -o-linear-gradient(top, white, black);
    background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
    background: linear-gradient(to bottom, white, black);
}

.result #whyList p {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: normal;
    white-space: pre-wrap;
}

.ctaRow {
    margin-top: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
}

.ctaRow button {
    padding: 12px 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: normal;
}

.ctaRow button.primary {
    color: #fff;
    background: #2C3E50;
    border-color: #2C3E50;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ctaRow button.ghost {
    background: #fff;
    border: 1px solid #929FAC;
}

.stageWrap {
    margin-top: 0;
}

.del {
    display: none !important;
}

.photoload {
}

.photoload2 .photoload__wrap,
.photoload3 .photoload__wrap,
.photoload4 .photoload__wrap,
.photoload5 .photoload__wrap,
.photoload6 .photoload__wrap {
    padding-bottom: 10px;
}

.photoload__inner {
    margin: 0 auto;
    width: 100%;
}

.card {
    padding: 24px;
    border-radius: 20px;
    background: #fff;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.photoload__wrap {
    margin: 0 auto;
}

.photoload__title {
    font-size: 22px;
    line-height: 28px;
    text-align: center;
}

.photoload__title_small {
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}

.photoload__text {
    font-size: 15px;
    line-height: 20px;
    text-align: center;
}

.photoload__text span {
    font-weight: 600;
}

.uploadBtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #2C3E50;
    color: #fff;
    border-radius: 4px;
    -webkit-tap-highlight-color: transparent;
}

.photoload__button {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #fff;
    color: #2C3E50;
    border-radius: 4px;
    border: 1px solid #929FAC;
}

.photoload__descr {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 11px;
    line-height: 13px;
    text-align: center;
}

.photoload__descr_big {
    padding-bottom: 0;
    width: 100%;
    font-size: 15px;
    line-height: 20px;
}

.photoload__box {
    padding: 20px 24px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    max-width: 276px;
    min-height: 276px;
}

.photoload__box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/border.svg);
}

.photoload__label {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background-color: #E2E2EE;
    z-index: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.photoload__label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 67px;
    height: 65px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/photo.svg);
    -webkit-tap-highlight-color: transparent;
}

.photoload__inp {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: -1;
}

.photoload__head {
    margin-top: 4px;
    font-size: 15px;
    line-height: 20px;
    color: #5C5994;
    text-align: center;
}

.photoload__box-text {
    margin-top: auto;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    color: #8C8ABC;
}

.photoload__label_load {
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: transparent;
    -webkit-animation: effect 1.2s linear infinite;
    animation: effect 1.2s linear infinite;
}

.photoload__label_load:before {
    background-image: url(/css/img/photoload/loader.svg);
}

.photoload3 .photoload__box {
    margin-bottom: 0;
}

.photoload3 .photoload__label:before {
    width: 100%;
    height: 100%;
}

@-webkit-keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.photoload__error {
    margin-top: 20px;
    padding-left: 20px;
    position: relative;
    font-size: 13px;
    line-height: 16px;
    color: #F16690;
}

.quality {
    display: none;
}

.photoload__error:before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 16px;
    height: 16px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/check_error.svg);
}

.photoload6 .photoload__box {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
}

.photoload6 .photoload__box:before {
    content: none;
}

.photoload__list {
    margin-top: 16px;
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4px;
}

.zoneLegend {
    margin-top: 16px;
    margin-bottom: 16px;
}

.photoload__item {
    padding: 6px 10px;
    border-radius: 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ctaRow button {
    display: block;
}

.photoload__item:nth-child(1) {
    border: 1px solid #000000;
    background-color: rgba(108, 156, 245, 0.15);
}

.photoload__item:nth-child(2) {
    border: 1px solid #4CB97F;
    background: rgba(76, 185, 127, 0.15);
}

.photoload__item:nth-child(3) {
    border: 1px solid #9D6FE5;
    background: rgba(157, 111, 229, 0.15);
}

.photoload__item:nth-child(4) {
    border: 1px solid #E6595F;
    background: rgba(230, 89, 95, 0.15);
}

.photoload__item:nth-child(5) {
    border: 1px solid #E3B311;
    background: rgba(227, 179, 17, 0.15);
}

.photoload__item:nth-child(6) {
    border: 1px solid #D46AA5;
    background: rgba(212, 106, 165, 0.15);
}

.photoload__item:nth-child(7) {
    border: 1px solid #888;
    background: rgba(136, 136, 136, 0.15);
}

.photoload__card {
    margin-top: 10px;
    margin-bottom: 24px;
    margin-right: auto;
    margin-left: auto;
    width: 276px;
    height: 190px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
    background-color: #D9D9D9;
}

.example {
    display: -ms-grid;
    display: grid;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: -o-linear-gradient(top, white, black);
    background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
    background: linear-gradient(to bottom, white, black);
}

.result #whyList p {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: normal;
}

.ctaRow {
    margin-top: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
}

.ctaRow button {
    padding: 12px 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: normal;
}

.ctaRow button.primary {
    color: #fff;
    background: #2C3E50;
    border-color: #2C3E50;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ctaRow button.ghost {
    background: #fff;
    border: 1px solid #929FAC;
}

.stageWrap {
    margin-top: 0;
}

@media (max-width: 640px) {
    .courseCard {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .courseImageWrap {
        position: relative;
        width: 100%;
        padding-bottom: 61.1%;
    }

    .courseImageWrap img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.del {
    display: none !important;
}

.photoload {
}

.photoload2 .photoload__wrap,
.photoload3 .photoload__wrap,
.photoload4 .photoload__wrap,
.photoload5 .photoload__wrap,
.photoload6 .photoload__wrap {
    padding-bottom: 10px;
}

.photoload__inner {
    margin: 0 auto;
    width: 100%;
}

.card {
    padding: 24px;
    border-radius: 20px;
    background: #fff;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.photoload__wrap {
    margin: 0 auto;
}

.photoload__title {
    font-size: 22px;
    line-height: 28px;
    text-align: center;
}

.photoload__title_small {
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}

.photoload__text {
    font-size: 15px;
    line-height: 20px;
}

.photoload__text span {
    font-weight: 600;
}

.uploadBtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #2C3E50;
    color: #fff;
    border-radius: 4px;
    -webkit-tap-highlight-color: transparent;
}

.photoload__button {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #fff;
    color: #2C3E50;
    border-radius: 4px;
    border: 1px solid #929FAC;
}

.photoload__descr {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 11px;
    line-height: 13px;
}

.photoload__descr_big {
    padding-bottom: 0;
    width: 100%;
    font-size: 15px;
    line-height: 20px;
}

.photoload__box {
    padding: 20px 24px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    max-width: 276px;
    min-height: 276px;
}

.photoload__box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/border.svg);
}

.photoload__label {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background-color: #E2E2EE;
    z-index: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.photoload__label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 67px;
    height: 65px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/photo.svg);
    -webkit-tap-highlight-color: transparent;
}

.photoload__inp {
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: -1;
}

.photoload__head {
    margin-top: 4px;
    font-size: 15px;
    line-height: 20px;
    color: #5C5994;
    text-align: center;
}

.photoload__box-text {
    margin-top: auto;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    color: #8C8ABC;
}

.photoload__label_load {
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: transparent;
    -webkit-animation: effect 1.2s linear infinite;
    animation: effect 1.2s linear infinite;
}

.photoload__label_load:before {
    background-image: url(/css/img/photoload/loader.svg);
}

.photoload3 .photoload__box {
    margin-bottom: 0;
}

.photoload3 .photoload__label:before {
    width: 100%;
    height: 100%;
}

@-webkit-keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes effect {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.photoload__error {
    margin-top: 20px;
    padding-left: 20px;
    position: relative;
    font-size: 13px;
    line-height: 16px;
    color: #F16690;
}

.quality {
    display: none;
}

.photoload__error:before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 16px;
    height: 16px;
    z-index: 1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(/css/img/photoload/check_error.svg);
}

.photoload6 .photoload__box {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
}

.photoload6 .photoload__box:before {
    content: none;
}

.photoload__list {
    margin-top: 16px;
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4px;
}

.zoneLegend {
    margin-top: 16px;
    margin-bottom: 16px;
}

.photoload__item {
    padding: 6px 10px;
    border-radius: 8px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ctaRow button {
    display: block;
}

.photoload__item:nth-child(1) {
    border: 1px solid #000000;
    background-color: rgba(108, 156, 245, 0.15);
}

.photoload__item:nth-child(2) {
    border: 1px solid #4CB97F;
    background: rgba(76, 185, 127, 0.15);
}

.photoload__item:nth-child(3) {
    border: 1px solid #9D6FE5;
    background: rgba(157, 111, 229, 0.15);
}

.photoload__item:nth-child(4) {
    border: 1px solid #E6595F;
    background: rgba(230, 89, 95, 0.15);
}

.photoload__item:nth-child(5) {
    border: 1px solid #E3B311;
    background: rgba(227, 179, 17, 0.15);
}

.photoload__item:nth-child(6) {
    border: 1px solid #D46AA5;
    background: rgba(212, 106, 165, 0.15);
}

.photoload__item:nth-child(7) {
    border: 1px solid #888;
    background: rgba(136, 136, 136, 0.15);
}

.photoload__card {
    margin-top: 10px;
    margin-bottom: 24px;
    margin-right: auto;
    margin-left: auto;
    width: 276px;
    height: 190px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 10px;
    background-color: #D9D9D9;
}

.example {
    display: -ms-grid;
    display: grid;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: -o-linear-gradient(top, white, black);
    background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
    background: linear-gradient(to bottom, white, black);
}

.result #whyList p {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: normal;
}

.ctaRow {
    margin-top: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
}

.ctaRow button {
    padding: 12px 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: normal;
}

.ctaRow button.primary {
    color: #fff;
    background: #2C3E50;
    border-color: #2C3E50;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ctaRow button.ghost {
    background: #fff;
    border: 1px solid #929FAC;
}

.stageWrap {
    margin-top: 0;
}

@media (max-width: 640px) {
    .courseCard {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .courseImageWrap {
        position: relative;
        width: 100%;
        padding-bottom: 61.1%;
    }

    .courseImageWrap img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.top {
    justify-content: center;
}

.stage {
    margin: -24px -24px 0 -24px;
    position: relative;
    border-radius: 18px 18px 0 0;
}

.zoneDot {
    display: none;
}

p, span {
    color: #2C3850;
}

.zoneChip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 16px;
}

.result {
    margin-top: 0;
    border: 0;
    border-radius: 16px;
    background: transparent;
    padding: 0;
    animation: fadeInUp .25s ease both;
    box-shadow: none;
}

.result #whyList p {
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 20px;
}

.result.is-ready .courseShort {
    animation-delay: .14s;
    font-size: 15px;
    line-height: 20px;
    color: #2c3e50;
    margin-bottom: 0;
    white-space: pre-line;
}

.photoload__descr_big {
    padding-bottom: 0;
    width: 100%;
    margin-top: 0px;
    font-size: 12px;
    color: var(--muted2);
}

.courseCard {
    display: block;
    gap: 10px;
    grid-template-columns: 96px 1fr;
    text-decoration: none;
    color: inherit;
    padding: 0;
    border: 0;
    border-radius: 12px;
    transition: none;
    background: 0;
}

.courseImageWrap {
    border: 0;
}

.courseBody .why {
    margin: 0;
    display: none !important;
}


/* =========================================================
 PHOTOLOAD: START vs LOADER (strict split, no conflicts)
 ========================================================= */

/* box border.svg Р С‘Р СР ВµР ВµРЎвЂљ z-index:1 -> Р С”Р С•Р Р…РЎвЂљР ВµР Р…РЎвЂљ Р Т‘Р С•Р В»Р В¶Р ВµР Р… Р В±РЎвЂ№РЎвЂљРЎРЉ Р Р†РЎвЂ№РЎв‚¬Р Вµ */
.photoload__box {
    position: relative;
}

/* ===== COMMON CIRCLE ===== */
.photoload__label {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background-color: #E2E2EE;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;

    transform: translate(-50%, -50%);
    z-index: 2; /* Р Р†РЎвЂ№РЎв‚¬Р Вµ РЎР‚Р В°Р СР С”Р С‘ .photoload__box::before */
}

/* РЎРѓР С”РЎР‚РЎвЂ№РЎвЂљРЎвЂ№Р в„– input */
.photoload__inp {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* =========================================================
   START (upload): .photoload__label_start_load
   ========================================================= */

/* Р Т‘РЎвЂ№РЎвЂ¦Р В°Р Р…Р С‘Р Вµ РЎР‚Р В°Р В·Р СР ВµРЎР‚Р В° (Р СњР вЂў Р В»Р С•Р СР В°Р ВµР С translate) */
.photoload__label_start_load .photoload__label {
    animation: start-breathe 1.6s ease-in-out infinite;
    will-change: transform;
}

/* Р С‘Р С”Р С•Р Р…Р С”Р В° РЎвЂћР С•РЎвЂљР С• Р С—Р С• РЎвЂ Р ВµР Р…РЎвЂљРЎР‚РЎС“ */
.photoload__label_start_load .photoload__label::before {
    content: "";
    position: absolute;
    background: center / 67px 65px no-repeat url(/css/img/photoload/photo.svg);
    z-index: 3;
}

/* Р С•РЎР‚Р ВµР С•Р В» Р С—РЎС“Р В»РЎРЉРЎРѓР В° */
.photoload__label_start_load .photoload__label::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    background: rgba(226, 226, 238, .55);
    z-index: 1;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    animation: start-pulse 1.6s ease-in-out infinite;
}

@keyframes start-breathe {
    0% {
        transform: translate(-50%, -50%) scale(1.00);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.05);
    }
    100% {
        transform: translate(-50%, -50%) scale(1.00);
    }
}

@keyframes start-pulse {
    0% {
        transform: scale(1.00);
        opacity: 0.00;
    }
    20% {
        opacity: 0.30;
    }
    60% {
        transform: scale(1.20);
        opacity: 0.16;
    }
    100% {
        transform: scale(1.35);
        opacity: 0.00;
    }
}

/* =========================================================
   LOADER (analyzing): .photoload__label_load
   ========================================================= */
/* Р С–Р Т‘Р Вµ Р С—Р С•Р С”Р В°Р В·РЎвЂ№Р Р†Р В°Р ВµРЎв‚¬РЎРЉ РЎРѓРЎвЂљР В°РЎвЂљРЎС“РЎРѓ */
.photoload__box-text {
    white-space: pre-line; /* \n РЎРѓРЎвЂљР В°Р Р…Р ВµРЎвЂљ Р С—Р ВµРЎР‚Р ВµР Р…Р С•РЎРѓР С•Р С */
}

/* Р Т‘Р ВµР В»Р В°Р ВµР С label Р Р…Р Вµ Р С”Р В»Р С‘Р С”Р В°Р В±Р ВµР В»РЎРЉР Р…РЎвЂ№Р С */
.photoload__label_load.start {
    cursor: default;
    pointer-events: none;
    background: none;
    top: 30%;
}

.photoload__box-text span {
    display: block;
}

/* loader.svg РЎР‚Р С‘РЎРѓРЎС“Р ВµР С РЎвЂЎР ВµРЎР‚Р ВµР В· ::before
   + 2 Р В°Р Р…Р С‘Р СР В°РЎвЂ Р С‘Р С‘:
   - ramp 4s: РЎР‚Р С•РЎРѓРЎвЂљ Р Т‘Р С• 1.5 Р С‘ РЎР‚Р В°Р В·Р С–Р С•Р Р… Р Р†РЎР‚Р В°РЎвЂ°Р ВµР Р…Р С‘РЎРЏ (1 РЎР‚Р В°Р В·, РЎвЂћР С‘Р С”РЎРѓР С‘РЎР‚РЎС“Р ВµРЎвЂљРЎРѓРЎРЏ)
   - spin: Р В±Р ВµРЎРѓР С”Р С•Р Р…Р ВµРЎвЂЎР Р…Р С•Р Вµ Р Р†РЎР‚Р В°РЎвЂ°Р ВµР Р…Р С‘Р Вµ Р С—Р С•РЎРѓР В»Р Вµ 4s Р Р…Р В° scale 1.5 */
.photoload__label_load.start::before {
    content: "";
    position: absolute;
    inset: 0;
    background: center / 80px 80px no-repeat url(/css/img/photoload/loader.svg);
    transform: translate(-50%, -50%) rotate(0deg) scale(1);

    /* Р вЂ™Р С’Р вЂ“Р СњР С›: transform-origin Р С—Р С• РЎвЂ Р ВµР Р…РЎвЂљРЎР‚РЎС“ Р С—РЎРѓР ВµР Р†Р Т‘Р С•РЎРЊР В»Р ВµР СР ВµР Р…РЎвЂљР В° */
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;

    will-change: transform;

    animation: loader-ramp 8s linear forwards,
    loader-spin 2.2s linear infinite 8s;
}

/* Р ВµРЎРѓР В»Р С‘ РЎвЂ¦Р С•РЎвЂЎР ВµРЎв‚¬РЎРЉ Р В»РЎвЂР С–Р С”Р С‘Р в„– Р С•РЎР‚Р ВµР С•Р В» Р С‘ Р Р…Р В° Р В»Р С•Р В°Р Т‘Р ВµРЎР‚Р Вµ РІР‚вЂќ Р С•РЎРѓРЎвЂљР В°Р Р†РЎРЉ; Р ВµРЎРѓР В»Р С‘ Р Р…Р ВµРЎвЂљ, Р СР С•Р В¶Р Р…Р С• РЎС“Р Т‘Р В°Р В»Р С‘РЎвЂљРЎРЉ */
.photoload__label_load.start::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    background: rgba(226, 226, 238, .40);
    z-index: 1;
    opacity: 0;
    transform: scale(1);
    pointer-events: none;
    animation: start-pulse 1.6s ease-in-out infinite;
}

/* 0..4s: Р СР ВµР Т‘Р В»Р ВµР Р…Р Р…Р С• -> Р В±РЎвЂ№РЎРѓРЎвЂљРЎР‚Р ВµР Вµ + scale Р Т‘Р С• 1.5 */
@keyframes loader-ramp {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) scale(1.00);
    }
    25% {
        transform: translate(-50%, -50%) rotate(20deg) scale(1.10);
    }
    50% {
        transform: translate(-50%, -50%) rotate(90deg) scale(1.28);
    }
    75% {
        transform: translate(-50%, -50%) rotate(200deg) scale(1.40);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) scale(1.50);
    }
}

/* Р С—Р С•РЎРѓР В»Р Вµ 4s: Р С”РЎР‚РЎС“РЎвЂљР С‘Р С Р Р…Р В° 1.5 Р В±Р ВµР В· РЎРѓР В±РЎР‚Р С•РЎРѓР В° */
@keyframes loader-spin {
    from {
        transform: translate(-50%, -50%) rotate(0deg) scale(1.50);
    }
    to {
        transform: translate(-50%, -50%) rotate(360deg) scale(1.50);
    }
}

/* Р С—Р В»Р В°Р Р†Р Р…Р В°РЎРЏ РЎРѓР СР ВµР Р…Р В° РЎвЂљР ВµР С”РЎРѓРЎвЂљР В° РЎРѓРЎвЂљР В°РЎвЂљРЎС“РЎРѓР В°/Р С•РЎв‚¬Р С‘Р В±Р С”Р С‘/Р В»Р С•Р В°Р Т‘Р ВµРЎР‚Р В° */
.statusTextFx {
    transition: opacity 260ms ease, transform 260ms ease, filter 260ms ease;
    will-change: opacity, transform, filter;
}

.statusTextFx.is-fading-out {
    opacity: 0;
    transform: translateY(2px);
    filter: blur(1px);
}

.statusTextFx.is-fading-in {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* --- zoneChip sequential shimmer --- */
.zoneLegend.is-shimmering .zoneChip {
    position: relative;
    overflow: hidden; /* РЎвЂЎРЎвЂљР С•Р В±РЎвЂ№ Р В±Р В»Р С‘Р С” Р Р…Р Вµ Р Р†РЎвЂ№Р В»Р ВµР В·Р В°Р В» */
    will-change: transform, filter, box-shadow;
}

/* РЎРѓР В°Р С "Р В±Р В»Р С‘Р С”" */
.zoneLegend.is-shimmering .zoneChip::before {
    content: "";
    position: absolute;
    inset: -2px; /* РЎвЂЎРЎС“РЎвЂљРЎРЉ РЎв‚¬Р С‘РЎР‚Р Вµ, РЎвЂЎРЎвЂљР С•Р В±РЎвЂ№ Р Р…Р Вµ Р В±РЎвЂ№Р В»Р С• Р С•Р В±РЎР‚Р ВµР В·Р В° */
    transform: translateX(-120%) rotate(12deg);
    background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 255, 255, .00) 35%,
    rgba(255, 255, 255, .55) 50%,
    rgba(255, 255, 255, .00) 65%,
    transparent 100%);
    pointer-events: none;
    opacity: 0;
}

/* Р В»РЎвЂР С–Р С”Р С‘Р в„– "Р С—Р С•Р Т‘РЎРѓР Р†Р ВµРЎвЂљ" РЎРѓР В°Р СР С•Р С–Р С• РЎвЂЎР С‘Р С—Р В° */
.zoneLegend.is-shimmering .zoneChip {
    animation: chipGlow var(--chipCycle, 4200ms) ease-in-out infinite;
}

/* Р В±Р В»Р С‘Р С” */
.zoneLegend.is-shimmering .zoneChip::before {
    animation: chipShimmer var(--chipCycle, 4200ms) ease-in-out infinite;
}

@keyframes chipGlow {
    0%, 82%, 100% {
        filter: none;
        box-shadow: none;
        transform: translateY(0);
        transform: scale(1);
    }
    88% {
        filter: brightness(1.08) saturate(1.05);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
        transform: translateY(-1px);
        transform: scale(1.035);
    }
    92% {
        filter: brightness(1.12) saturate(1.08);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .08);
        transform: scale(1.055);
    }
    96% {
        filter: brightness(1.06) saturate(1.03);
        box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
        transform: scale(1.03);
    }
}

@keyframes chipShimmer {
    0%, 82% {
        opacity: 0;
        transform: translateX(-120%) rotate(12deg);
    }
    86% {
        opacity: 1;
    }
    92% {
        opacity: 1;
        transform: translateX(120%) rotate(12deg);
    }
    100% {
        opacity: 0;
        transform: translateX(120%) rotate(12deg);
    }
}

/* РЎС“Р Р†Р В°Р В¶Р ВµР Р…Р С‘Р Вµ Р С” reduce motion */
@media (prefers-reduced-motion: reduce) {
    .zoneLegend.is-shimmering .zoneChip,
    .zoneLegend.is-shimmering .zoneChip::before {
        animation: none !important;
    }
}

/* РЎРѓР С”Р С•Р В»РЎРЉР С”Р С• Р Т‘Р В»Р С‘РЎвЂљРЎРѓРЎРЏ Р С—Р С•Р В»Р Р…РЎвЂ№Р в„– Р С”РЎР‚РЎС“Р С– Р С—Р С• Р Р†РЎРѓР ВµР С РЎвЂЎР С‘Р С—Р В°Р С */
.zoneLegend.is-shimmering {
    --chipCycle: 5200ms;
}

/* РЎв‚¬Р В°Р С– Р В·Р В°Р Т‘Р ВµРЎР‚Р В¶Р С”Р С‘: cycle / N.
   Р вЂўРЎРѓР В»Р С‘ N Р СР ВµР Р…РЎРЏР ВµРЎвЂљРЎРѓРЎРЏ РІР‚вЂќ Р С—РЎР‚Р С•РЎвЂ°Р Вµ Р Р†РЎвЂ№РЎРѓРЎвЂљР В°Р Р†Р В»РЎРЏРЎвЂљРЎРЉ Р С‘Р В· JS (РЎРѓР С. Р Р…Р С‘Р В¶Р Вµ), Р Р…Р С• Р СР С•Р В¶Р Р…Р С• Р С‘ РЎвЂљР В°Р С”. */
.zoneLegend.is-shimmering .zoneChip:nth-child(1) {
    animation-delay: 0ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(1)::before {
    animation-delay: 0ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(2) {
    animation-delay: 520ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(2)::before {
    animation-delay: 520ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(3) {
    animation-delay: 1040ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(3)::before {
    animation-delay: 1040ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(4) {
    animation-delay: 1560ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(4)::before {
    animation-delay: 1560ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(5) {
    animation-delay: 2080ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(5)::before {
    animation-delay: 2080ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(6) {
    animation-delay: 2600ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(6)::before {
    animation-delay: 2600ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(7) {
    animation-delay: 3120ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(7)::before {
    animation-delay: 3120ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(8) {
    animation-delay: 3640ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(8)::before {
    animation-delay: 3640ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(9) {
    animation-delay: 4160ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(9)::before {
    animation-delay: 4160ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(10) {
    animation-delay: 4680ms;
}

.zoneLegend.is-shimmering .zoneChip:nth-child(10)::before {
    animation-delay: 4680ms;
}


.hidden {
    display: none !important;
}

.photoload__cameraBtn {
    width: 100%;
    min-height: 56px;
    border-radius: 16px;
    border: 0;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
}

.cameraModal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    height: 100vh;
}

.cameraModal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}

.cameraModal__sheet {
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: min(520px, 100%);
    background: #fff;
    border-radius: 0;
    padding: 14px;
    box-sizing: border-box;
    padding-top: 45px;
}

.cameraModal__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.cameraModal__title {
    font-weight: 800;
    font-size: 16px;
}

.cameraModal__close {
    border: 0;
    background: transparent;
    font-size: 20px;
    cursor: pointer;
}

#cameraVideo.is-mirrored {
    transform: scaleX(-1);
}

#cameraVideo {
    width: 100%;
    height: min(58vh, 520px);
    background: #000;
    border-radius: 14px;
    object-fit: cover;
}

.cameraModal__actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.cameraModal__btn {
    min-height: 52px;
    border-radius: 14px;
    border: 0;
    font-weight: 700;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 0px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    width: 100%;
    height: 48px;
    background-color: #2C3E50;
    color: #fff;
    border-radius: 4px;
    -webkit-tap-highlight-color: transparent;
}

.cameraModal__btn.ghost {
    background: #fff;
    max-width: 50px;
    padding: 9px;
    box-shadow: none;
}

.flflf {
    display: flex;
    padding-top: 20px;
    justify-content: space-between;
    width: 100%;
}

.visuallyHidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.cameraModal__labelBtn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cameraModal__labelBtn svg {
    width: 28px;
    height: 28px;
}

.consentBox span {
    text-align: center;
}

.consentBox span a {
    text-decoration: underline;
    text-align: center;
}

.consentBox .consentBox__label {
    position: relative;
    margin-bottom: 0;
    padding-left: 30px;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    text-align: right;
    font-size: 15px;
    line-height: 20px;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;

}

span.checkbox_mark {
    position: absolute;
    top: -4px;
    left: 0;
    width: 28px;
    min-width: 28px;
    height: 28px;
}

span.checkbox_mark:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/images/i-checkbox.svg);
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition: background .2s ease-in;
    -o-transition: background .2s ease-in;
    transition: background .2s ease-in;
}

#pdConsent:checked ~ span.checkbox_mark:after {
    background-image: url(/images/i-checkbox-checked.svg);
}

#pdConsent2:checked ~ span.checkbox_mark:after {
    background-image: url(/images/i-checkbox-checked.svg);
}

#pdConsent3:checked ~ span.checkbox_mark:after {
    background-image: url(/images/i-checkbox-checked.svg);
}
.consentBox {
    display: inline-flex;
    justify-content: flex-end;
    margin-left: auto;
    width: 100%;
}

.app .title {
    margin-top: 16px;
}
