:root{--cp-auth-purple:#5d0b86;--cp-auth-purple-2:#8214a5;--cp-auth-pink:#e71967;--cp-auth-text:#24162d;--cp-auth-muted:#756c7b;--cp-auth-border:#eadfee;--cp-auth-bg:#fff9fc}
.cp-auth-page{padding:34px 18px 64px;background:radial-gradient(circle at 15% 0,#f9efff 0,transparent 34%),linear-gradient(180deg,#fff 0,#fff9fc 100%)}
.cp-auth-shell{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:18px;align-items:stretch}
.cp-auth-card,.cp-auth-promo{border:1px solid var(--cp-auth-border);border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(79,17,96,.08)}
.cp-auth-card{padding:42px}
.cp-auth-card__head{text-align:left;margin-bottom:26px}.cp-auth-kicker{display:block;color:var(--cp-auth-purple);font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.cp-auth-card h1{margin:0 0 8px;color:var(--cp-auth-text);font-size:clamp(30px,3vw,44px);line-height:1.05}.cp-auth-card__head p{margin:0;color:var(--cp-auth-muted);font-size:16px}.cp-auth-card__head strong{color:var(--cp-auth-purple)}
.cp-auth-form{display:grid;gap:18px}.cp-auth-form--register{grid-template-columns:1fr 1fr}.cp-auth-field{display:grid;gap:8px}.cp-auth-field>span:first-child{font-size:14px;font-weight:750;color:var(--cp-auth-text)}.cp-auth-field small{font-weight:500;color:#968b9b}.cp-auth-field--full{grid-column:1/-1}
.cp-auth-input-wrap{position:relative;display:flex;align-items:center;border:1px solid var(--cp-auth-border);border-radius:14px;background:#fff;transition:.2s}.cp-auth-input-wrap:focus-within{border-color:#a12abe;box-shadow:0 0 0 4px rgba(161,42,190,.09)}.cp-auth-input-icon{width:46px;text-align:center;color:#7a6e82;font-size:18px}.cp-auth-input-wrap input,.cp-auth-input-wrap textarea{width:100%;border:0;outline:0;background:transparent;padding:15px 48px 15px 0;color:var(--cp-auth-text);font:inherit;resize:vertical}.cp-auth-input-wrap--textarea{align-items:flex-start}.cp-auth-input-wrap--textarea .cp-auth-input-icon{padding-top:15px}.cp-auth-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:#756c7b;cursor:pointer}
.cp-auth-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.cp-auth-row a,.cp-auth-switch a,.cp-auth-check a{color:var(--cp-auth-purple);font-weight:750;text-decoration:none}.cp-auth-check{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#554b5b}.cp-auth-check input{accent-color:var(--cp-auth-purple);margin-top:2px}.cp-auth-check--terms{margin-top:-2px}
.cp-auth-submit{min-height:52px;border:0;border-radius:14px;background:linear-gradient(100deg,var(--cp-auth-purple),var(--cp-auth-pink));color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 12px 24px rgba(171,20,112,.18)}.cp-auth-switch{text-align:center;color:var(--cp-auth-muted);margin:24px 0 0}.cp-auth-alert{padding:13px 15px;border-radius:12px;background:#fff0f3;color:#b42343;margin-bottom:18px;border:1px solid #ffd0da}.cp-auth-alert--success{background:#effcf4;color:#147a3f;border-color:#c8efd7}
.cp-auth-promo{position:relative;overflow:hidden;padding:42px;background:linear-gradient(145deg,#fff2f8 0,#f8e8ff 55%,#efe3ff 100%);min-height:590px}.cp-auth-promo__copy{position:relative;z-index:2;max-width:360px}.cp-auth-promo__copy span{font-size:12px;font-weight:850;letter-spacing:.12em;color:var(--cp-auth-pink)}.cp-auth-promo__copy h2{font-size:42px;line-height:1.04;margin:12px 0 16px;color:#4f126f}.cp-auth-promo__copy p{font-size:17px;line-height:1.7;color:#6f6274}.cp-auth-promo__art{position:absolute;inset:auto 0 0 0;height:58%}.cp-auth-orb{position:absolute;border-radius:999px;filter:blur(1px)}.cp-auth-orb--one{width:360px;height:360px;background:rgba(224,80,155,.15);right:-65px;bottom:-70px}.cp-auth-orb--two{width:230px;height:230px;background:rgba(99,32,155,.12);left:45px;bottom:35px}.cp-auth-product{position:absolute;bottom:48px;border-radius:24px 24px 16px 16px;box-shadow:0 24px 40px rgba(86,22,92,.2)}.cp-auth-product--bottle{width:84px;height:220px;left:34%;background:linear-gradient(180deg,#17061e 0 15%,#6b118e 16% 100%)}.cp-auth-product--tube{width:118px;height:260px;left:52%;background:linear-gradient(180deg,#f7a6c1,#e978a4)}.cp-auth-product--jar{width:150px;height:92px;left:18%;background:linear-gradient(180deg,#f9cbd9,#e79bb6);border-radius:18px}
@media(max-width:900px){.cp-auth-page{padding:18px 12px 88px}.cp-auth-shell{display:block}.cp-auth-promo{display:none!important}.cp-auth-card{padding:24px 18px;border-radius:22px;box-shadow:0 12px 34px rgba(79,17,96,.07)}.cp-auth-card__head{text-align:center;margin-bottom:22px}.cp-auth-card h1{font-size:30px}.cp-auth-card__head p{font-size:14px}.cp-auth-form--register{grid-template-columns:1fr}.cp-auth-field--full{grid-column:auto}.cp-auth-input-wrap input,.cp-auth-input-wrap textarea{font-size:16px}.cp-auth-row{font-size:13px}.cp-auth-switch{font-size:14px;margin-top:20px}}
@media(max-width:480px){.cp-auth-page{padding-left:10px;padding-right:10px}.cp-auth-card{padding:22px 14px}.cp-auth-row{align-items:flex-start}.cp-auth-submit{min-height:50px}}

/* Cosmetic Point customer registration: terms checkbox left alignment */
.cp-auth-check.cp-auth-check--terms {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    margin: 0 !important;
}

.cp-auth-check.cp-auth-check--terms > input[type="checkbox"] {
    appearance: auto;
    -webkit-appearance: checkbox;
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    accent-color: var(--cp-auth-purple);
    cursor: pointer;
}

.cp-auth-check.cp-auth-check--terms > span {
    display: block;
    flex: 1 1 auto;
    width: auto !important;
    margin: 0 !important;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .cp-auth-check.cp-auth-check--terms {
        gap: 9px !important;
        font-size: 13px;
    }
}


/* CP AUTH TERMS CHECKBOX — permanent left alignment */
.cp-auth-card form label:has(input[type="checkbox"]),
.cp-auth-form label:has(input[type="checkbox"]),
.cp-auth-card .form-check,
.cp-auth-card .cp-auth-check,
.cp-auth-card .terms-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
}

.cp-auth-card form input[type="checkbox"],
.cp-auth-form input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    display: inline-block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    margin: 3px 0 0 0 !important;
    padding: 0 !important;
    transform: none !important;
    accent-color: #6b0f8f;
    cursor: pointer;
}

.cp-auth-card form label:has(input[type="checkbox"]) span,
.cp-auth-form label:has(input[type="checkbox"]) span {
    display: inline !important;
    flex: 1 1 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .cp-auth-card form label:has(input[type="checkbox"]),
    .cp-auth-form label:has(input[type="checkbox"]) {
        gap: 8px !important;
        font-size: 13px !important;
    }
}


/* CP AUTH TERMS CHECKBOX — permanent left alignment */
.cp-auth-card form label:has(input[type="checkbox"]),
.cp-auth-form label:has(input[type="checkbox"]),
.cp-auth-card .form-check,
.cp-auth-card .cp-auth-check,
.cp-auth-card .terms-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
}

.cp-auth-card form input[type="checkbox"],
.cp-auth-form input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    display: inline-block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    margin: 3px 0 0 0 !important;
    padding: 0 !important;
    transform: none !important;
    accent-color: #6b0f8f;
    cursor: pointer;
}

.cp-auth-card form label:has(input[type="checkbox"]) span,
.cp-auth-form label:has(input[type="checkbox"]) span {
    display: inline !important;
    flex: 1 1 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .cp-auth-card form label:has(input[type="checkbox"]),
    .cp-auth-form label:has(input[type="checkbox"]) {
        gap: 8px !important;
        font-size: 13px !important;
    }
}

