/* ==========================================================================
   PSY SmartLogin - "Iranket" theme
   Visual style inspired by iranket.com auth card (structure & colors only,
   no copied brand assets/logo are used — the shop's own logo is displayed).
   ========================================================================== */

:root{
    --iranket-primary:#2daae2;
    --iranket-primary-dark:#009ce1;
    --iranket-primary-soft:#fdeef1;
    --iranket-text:#26292b;
    --iranket-muted:#8c9096;
    --iranket-border:#c1c1c1;
    --iranket-border-focus:#c7cbd1;
    --iranket-bg-page:#f5f6f8;
    --iranket-link:#008eb2;
    --iranket-radius-lg:14px;
    --iranket-radius-md:8px;
    --iranket-shadow:0 2px 18px rgba(20,20,43,.08);
    --iranket-success:#22ab5a;
}

html{
    font-size: 100%;
}
.content-loginyar{
    width: 100%;
    direction: rtl;
    box-sizing: border-box;
}
.content-loginyar *,
.content-loginyar *::before,
.content-loginyar *::after{
    box-sizing: border-box;
}
.content-loginyar a{
    color: var(--iranket-text);
    transition: color .15s ease;
}
.content-loginyar a:focus,
.content-loginyar a:hover {
    text-decoration: none;
}
.content-loginyar .alert p {
    margin-bottom: 0;
}

.psy-helpText{
    font-size: .82rem;
    color: var(--iranket-muted);
    line-height: 1.6;
}
#psy-errors.psy-helpText{
    margin-top: 6px;
}
#psy-errors.psy-helpText p{
    font-size: .8rem;
    color: #e02b2b;
    line-height: 1.5;
    background: #fdeceb;
    border: 1px solid #f6c9c5;
    border-radius: var(--iranket-radius-md);
    padding: 8px 12px;
    margin: 0 0 4px;
}

/* ---------------- card / general layout ---------------- */
#content-wrapper.content-loginyar{
    padding: 30px 15px 60px;
}
#psy-smartlogin {
    background: #fff;
    width: 100%;
    max-width: 400px;
    margin: 30px auto;
    padding: 18px 32px 34px;
    border-radius: var(--iranket-radius-lg);
    border: 1px solid #e0e0e2;
    position: relative;
}
.content-loginyar.show-logo #psy-smartlogin{
    margin-top: 30px;
}

/* logo + back-arrow header row, sits inside the card */
#psy-logo{
    margin: 0 0 48px;
    position: relative;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
}
#psy-logo .iranket-logo-link{
    display: flex;
    position: absolute;
    width: 100%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    justify-content: center;
}
#psy-logo .iranket-logo-link img.logo{
    max-width: 146px;
    height: auto;
    width: auto;
    display: block;
}
#psy-logo .iranket-back-arrow{
    display: flex;
    align-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--iranket-text);
    flex-shrink: 0;
    position: absolute;
    z-index: 9;
    justify-content: center;
}
#psy-logo .iranket-back-arrow:hover{
    background: #f4f5f6;
    color: var(--iranket-primary);
}
#psy-logo .iranket-back-arrow svg{
    width: 24px;
    height: 24px;
}

#psy-smartlogin h4{
    font-size: 15px;
    font-weight: 700;
    line-height: 1.9rem;
    color: var(--iranket-text);
    margin: 0 0 16px;
}
p.iranket-form-body-description {
    color: #81858b;
    font-size: 12px;
    margin-bottom: 18px;
}
#psy-smartlogin .psy-helpText{
    margin-bottom: 22px;
}

.psy-form-group{
    margin-bottom: 14px;
}
.psy-form-group.psy-form-btn{
    text-align: center;
    margin-top: 22px;
    margin-bottom: 22px;
}

#psy-smartlogin .form-group label {
    color: var(--iranket-text);
    text-align: right;
    font-size: 13px;
    display: inline-block;
    margin-bottom: 6px;
}
#psy-smartlogin .form-group label.psy-required::after {
    color: var(--iranket-primary);
    font-size: 14px;
    padding-right: 4px;
    content: '*';
}

#psy-smartlogin .form-group .input-group {
    display: block;
}

#psy-smartlogin .form-control {
    background: #fff;
    color: var(--iranket-text);
    border: 1px solid var(--iranket-border);
    border-radius: var(--iranket-radius-md);
    line-height: 1.3 !important;
    min-height: 48px;
    padding: 10px 16px;
    font-size: 14px;
    width: 100%;
}
#psy-smartlogin .form-control::placeholder{
    color: #b1b5ba;
}
#psy-smartlogin .form-control:focus{
    outline: none;
    box-shadow: 0 0 0 3px var(--iranket-primary-soft);
    border-color: var(--iranket-primary);
}

#psy-smartlogin input[type="number"],
#psy-smartlogin input[type="email"],
input.psy-always-ltr {
    text-align: left;
    direction: ltr;
}

#psy-steps{
    position: relative;
    overflow: hidden;
}
#psy-step,
#psy-step-ajax{
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -ms-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

#psy-step-ajax.current{
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}
#psy-step-ajax.next{
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: translateX(-100%);
}
.content-loginyar .prev {
    transform: translateX(100%);
    -moz-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -o-transform: translateX(100%);
    -ms-transform: translateX(100%);
    visibility: hidden;
    opacity: 0;
}

/* primary CTA button, full width pill like iranket */
.psy-btn-smartlogin {
    display: block;
    width: 100%;
    color: #fff;
    background-color: var(--iranket-primary);
    border-color: var(--iranket-primary);
    border-radius: var(--iranket-radius-md);
    font-size: 15px;
    padding: 13px 18px;
    line-height: 1.3;
    box-shadow: 0 4px 10px rgb(61 135 238 / 22%);
}
.psy-btn-smartlogin:focus,
.psy-btn-smartlogin:active,
.psy-btn-smartlogin.active,
.psy-btn-smartlogin:hover,
.psy-btn-smartlogin.active.focus,
.psy-btn-smartlogin.active:focus,
.psy-btn-smartlogin.active:hover,
.psy-btn-smartlogin:active.focus,
.psy-btn-smartlogin:active:focus,
.psy-btn-smartlogin:active:hover,
.psy-btn-smartlogin:not(:disabled):not(.disabled):active,
.psy-btn-smartlogin:not(:disabled):not(.disabled).active {
    background-color: var(--iranket-primary-dark);
    border-color: var(--iranket-primary-dark);
    box-shadow: none;
}
.psy-btn-smartlogin.disabled,
.psy-btn-smartlogin:disabled{
    opacity: .7;
}
.psy-btn-secondary{
    color: var(--iranket-primary);
    background: transparent;
    border: 1px solid var(--iranket-border);
    border-radius: var(--iranket-radius-md);
}

/* page not header */
.psy-page-not-header{
    background: var(--iranket-bg-page);
}
.psy-page-not-header #wrapper{
    box-shadow: none;
}
.psy-page-not-header #psy-smartlogin {
    margin-top: 60px;
}

/* legal / terms text shown on the merged login-register step */
.iranket-legal-text{
    text-align: center;
    font-size: .78rem;
    color: var(--iranket-muted);
    line-height: 1.9;
    margin-top: 18px;
}
.iranket-legal-text a,
.iranket-legal-text span.iranket-link{
    color: var(--iranket-link);
    font-weight: 600;
}

/* step 1 alignment helpers */
.psy-verify-form .psy-form-group input.psy-always-ltr,
#psy-step .psy-form-group input.psy-always-ltr{
    text-align: center;
}
#psy-step .psy-form-group input.psy-always-center{
    text-align: center;
}
#psy-step .psy-form-group.psy-form-btn{
    text-align: center;
}

#psy-step .psy-login-form .psy-form-group.psy-form-btn,
#psy-step .psy-login-password .psy-form-group.psy-form-btn{
    text-align: center;
}
#psy-step .psy-form-group input.psy-always-center::placeholder {
    color: #848484; /* رنگ دلخواه */
    font-size: 12px; /* سایز دلخواه */
    font-weight: normal; /* اختیاری */
    opacity: 1; /* برای برخی مرورگرها برای وضوح رنگ */
}

/* پشتیبانی برای مرورگرهای قدیمی (WebKit, Mozilla) */
#psy-step .psy-form-group input.psy-always-center::-webkit-input-placeholder {
    color: #848484;
    font-size: 13px;
}

#psy-step .psy-form-group input.psy-always-center::-moz-placeholder {
    color: #848484;
    font-size: 13px;
}

#psy-step .psy-form-group input.psy-always-center:-ms-input-placeholder {
    color: #848484;
    font-size: 13px;
}

#psy-step .psy-login-password #psy-show-form{
    float: none;
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12.5px;
    color: var(--iranket-link);
    font-weight: 600;
}
#psy-show-username{
    float: none;
    display: inline-block;
    font-weight: 700;
    color: var(--iranket-text);
}

/* toggle messages (register / login-otp / login-password) */
.psy-message-login-otp,
.psy-message-register,
.psy-message-login-password{
    display: flex;
    text-align: center;
    margin-top: 26px;
    gap: 12px;
    font-size: 16px;
    color: var(--iranket-muted);
    justify-content: center;
    align-items: center;
}

.psy-message-login-otp a,
.psy-message-register a,
.psy-message-login-password a{
    font-size: 13px;
    font-weight: 700;
    color: var(--iranket-link);
}

/* verify-otp step */
#psy-show-form {
    font-weight: normal;
    cursor: pointer;
    color: var(--iranket-link);
}

#psy-resend {
    float: right;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
}
#psy-countdown-content {
    padding: 10px 38px 10px 10px;
    color: var(--iranket-muted);
    font-size: 13px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
@keyframes psycircletimer {
    0% {
        stroke-dashoffset: 80;
        stroke-dasharray: 80;
    }
    100% {
        stroke-dashoffset: 0;
        stroke-dasharray: 80;
    }
}
#psy-countdown {
    position: absolute;
    right: 0;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background: #2daae21c;
    color: #2daae2;
    border-radius: 50%;
}
#psy-countdown svg {
    background-color: transparent;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%) rotateZ(-90deg);
}
#psy-countdown svg .psy-circle {
    stroke: var(--iranket-primary);
    stroke-width: 2;
    fill: transparent;
    stroke-dashoffset: 80;
    stroke-dasharray: 0;
    animation: 10s psycircletimer linear;
}
#psy-timer {
    position: absolute;
    display: block;
    top: 57%;
    left: 50%;
    color: #2daae2;
    font-size: 13px;
    font-weight: 600;
    transform: translate(-50%, -50%);
}
#psy-timer i {
    position: absolute;
    top: -6px;
    right: -3px;
}
#psy-resend-btn{
    display: none;
    background: #2daae21c;
    color: #2daae2;
    border: unset;
    font-size: 14px;
}
.psy-verifyOtp h4,
.psy-complate-register h4{
    text-align: right;
}
.psy-change-username{
    font-size: .78rem;
    font-weight: 600;
    color: var(--iranket-link);
    cursor: pointer;
}

/* welcome / success step */
.psy-welcome,
.psy-change-password{
    text-align: center;
}
.psy-welcome .icon-header{
    display:flex;
    align-items: center;
    justify-content: center;
    margin: 6px auto 24px;
    background: #e7f8ee;
    width: 64px;
    height: 64px;
    position: relative;
    border-radius: 50%;
}
.psy-welcome i{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    color: var(--iranket-success);
}
.js-modal-content .icon-header:before,
.content-loginyar .icon-header:before {
    display: none;
}

/* header hook (top nav "login / register" links) */
.psy-vertical-line {
    display: inline-block;
    height: 16px;
    width: 1px;
    background-color: #d6d8db;
    vertical-align: middle;
    margin: auto 6px;
}
.loginyar-user-info.user-info a.login,
.loginyar-user-info.user-info a.register,
.loginyar-user-info.user-info a.account,
.loginyar-user-info.user-info a.logout{
    font-weight: 600;
}
#header .header-nav .user-info .logout {
    margin-right: .625rem;
}
#loginyar-ps16.user-info{
    float: left;
}
#loginyar-ps16.user-info a{
    color: #fff;
    display: inline-block;
    padding: 8px 8px 11px 9px;
    line-height: 18px;
    border-left: 1px solid #515151;
}
#loginyar-ps16 .psy-vertical-line {
    display: none;
}

/* identity (change email / mobile) */
#psy-change-email,
#psy-change-mobile{
    display: none;
}

.psy-change  {
    margin-top: -8px;
}
.psy-change a {
    color: var(--iranket-link);
    font-size: 13px;
    font-weight: 600;
}
.psy-change a.psy-link-small {
    color: var(--iranket-muted);
    font-size: 10px;
}
.form-group > .psy-change  {
    margin: 15px 0;
}
.mb-3 .psy-change {
    margin-top: 8px;
    font-weight: 500;
}

/* login modal popup (header quick login) */
#psy-login-modal .modal-dialog {
    position: relative;
    width: auto;
    margin: 10px;
}
#psy-login-modal .modal-content{
    border-radius: var(--iranket-radius-lg);
}
#psy-login-modal .js-modal-content{
    padding: 1.75rem !important;
}
#psy-login-modal .modal-content {
    border: 1px solid #fff;
    margin: 0;
    box-shadow: var(--iranket-shadow);
}
#psy-login-modal .modal-content .loadingModel{
    text-align: center;
    padding: 30px 0;
}
#psy-login-modal .modal-content .loadingModel span.fa-spinner{
    font-size: 40px;
    color: var(--iranket-primary);
}
#psy-login-modal .modal-dialog{
    margin-top: 60px;
}
#psy-login-modal .modal-content button.btn-close {
    align-self: flex-end;
}
#psy-login-modal .modal-content button.close {
    text-align: left;
    padding: 10px 0 0 10px;
    float: left;
    font-size: 22px;
    color: var(--iranket-muted);
}
#psy-login-modal .modal-content h4{
    font-size: 1.1rem;
    color: var(--iranket-text);
}
#psy-login-modal .modal-content .psy-form-group input{
    min-height: 46px;
}

.psy6-form-group label{
    display: block;
}
.psy6-form-group input{
    display: inline-block;
}
.psy6-form-group .form-control-comment {
    display: inline-block;
}
.psy6-form-group .form-control-comment .psy-change{
    margin: 0;
    padding-right: 15px;
}

/* theme panda compatibility */
#identity .st-pusher {
    z-index: auto;
}

/* ---------------- responsive ---------------- */
@media (max-width: 575px) {
    #content-wrapper.content-loginyar{
        padding: 16px 12px 40px;
    }
    #psy-smartlogin {
        max-width: 100%;
        margin: 10px auto;
        padding: 20px 18px 26px;
        border-radius: 10px;
    }
    #psy-logo{
        margin-bottom: 36px;
    }
    #psy-smartlogin h4{
        font-size: 1.02rem;
    }
    .psy-form-group.psy-form-btn{
        margin-top: 16px;
        margin-bottom: 16px;
    }
}

@media (min-width: 576px) {
    #psy-login-modal .modal-dialog {
        max-width: 460px;
        margin: 30px auto;
    }
}

@media (max-width: 440px) {
    #psy-smartlogin .form-control{
        min-height: 44px;
        font-size: 13.5px;
    }
    .psy-btn-smartlogin{
        font-size: 14px;
        padding: 12px 16px;
    }
}
