/* ============================================================
   AMRIT GITA · FORGOT PASSWORD
   Extends style.css + auth.css + responsive.css.
   All rules are scoped to the recovery page.
============================================================ */

.password-recovery-page .forgot-password-container {
    min-height: 675px;
    grid-template-columns: 0.96fr 1.04fr;
}

.password-recovery-page .recovery-visual-panel {
    background:
        radial-gradient(circle at 4% 95%, rgba(247, 155, 52, .13), transparent 41%),
        radial-gradient(circle at 94% 5%, rgba(246, 129, 30, .08), transparent 43%),
        linear-gradient(140deg, #fffaf2, #fff1dd);
}

.password-recovery-page .recovery-visual-panel::after {
    border: 1px solid rgba(218, 114, 31, .12);
    width: 380px;
    height: 380px;
    bottom: -240px;
    right: -120px;
    background: transparent;
}

.password-recovery-page .auth-visual-title {
    font-size: clamp(2.35rem, 3.5vw, 3.5rem);
    line-height: 1.12;
}

.password-recovery-page .recovery-quote {
    margin-top: 34px;
    padding: 24px 26px;
    border: 1px solid rgba(217, 143, 68, .23);
    border-radius: 18px;
    background: rgba(255, 255, 255, .58);
    box-shadow: 0 10px 30px rgba(157, 98, 47, .045);
}

.password-recovery-page .recovery-quote-symbol {
    display: block;
    color: #db831f;
    font-size: 1.4rem;
    margin-bottom: 4px;
}

.password-recovery-page .recovery-quote p {
    margin: 0 0 12px;
    color: #48332a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.16rem;
    line-height: 1.6;
    font-style: italic;
}

.password-recovery-page .recovery-quote-caption {
    font-size: .73rem;
    font-weight: 700;
    color: #997a63;
}

.password-recovery-page .recovery-trust-note {
    margin-top: 27px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #746257;
    font-size: .77rem;
    line-height: 1.55;
}

.password-recovery-page .recovery-trust-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 12px;
    color: #d36c11;
    background: rgba(250, 158, 60, .13);
}

.password-recovery-page .recovery-form-panel {
    padding: 46px 54px;
}

.password-recovery-page .recovery-form-wrapper {
    max-width: 430px;
}

.password-recovery-page .recovery-back-link {
    display: inline-flex;
    margin-bottom: 28px;
}

.password-recovery-page .recovery-form-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 19px;
}

.password-recovery-page .recovery-section-label {
    color: #be681b;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.password-recovery-page .recovery-section-label span {
    margin-left: 5px;
    color: #e5ad6a;
}

.password-recovery-page .recovery-envelope {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: #e47814;
    border: 1px solid #f5debf;
    background: linear-gradient(145deg, #fff9ee, #fff0da);
    box-shadow: 0 12px 23px rgba(221, 115, 28, .085);
}

.password-recovery-page .recovery-form-header {
    margin-bottom: 29px;
}

.password-recovery-page .recovery-form-header h2 {
    font-size: clamp(2rem, 3vw, 2.5rem);
}

.password-recovery-page .recovery-form-header p {
    max-width: 410px;
    margin-top: 12px;
}

.password-recovery-page .recovery-input-wrapper .recovery-input-icon {
    position: absolute;
    z-index: 1;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    pointer-events: none;
    color: #b39b8c;
}

.password-recovery-page .recovery-input-wrapper input {
    padding-left: 48px;
}

.password-recovery-page .recovery-input-wrapper:focus-within .recovery-input-icon {
    color: #db7d26;
}

.password-recovery-page #resetEmailGroup.has-error input {
    border-color: #c93c2f;
    background-color: #fffafa;
}

.password-recovery-page #resetEmailGroup.has-error .recovery-input-icon {
    color: #c93c2f;
}

.password-recovery-page .recovery-input-help {
    margin: 9px 0 0;
    font-size: .72rem;
    line-height: 1.5;
    color: #9b8b80;
}

.password-recovery-page .recovery-submit-button {
    margin-top: 8px;
}

.password-recovery-page .recovery-arrow {
    font-size: 1.28rem;
    font-weight: 500;
    transition: transform .2s ease;
}

.password-recovery-page .recovery-submit-button:hover .recovery-arrow {
    transform: translateX(4px);
}

.password-recovery-page .recovery-footer {
    margin-top: 30px;
}

.password-recovery-page .recovery-footer .auth-switch {
    margin-top: 0;
}

.password-recovery-page .recovery-support {
    text-align: center;
    margin-top: 17px;
    color: #94867b;
    font-size: .77rem;
}

.password-recovery-page .recovery-support a {
    color: #ba681a;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.password-recovery-page .auth-legal {
    margin-top: 34px;
    padding-top: 18px;
    border-top: 1px solid #f1eae2;
}

.password-recovery-page .recovery-success {
    padding: 26px 23px;
    background: #fffaf2;
    border: 1px solid #f2dfc5;
    border-radius: 20px;
    text-align: center;
    animation: recoveryAppear .3s ease-out;
}

.password-recovery-page .recovery-success-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    color: #2d8754;
    background: #e8f5e9;
    border: 1px solid #c9e8ce;
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 800;
}

.password-recovery-page .recovery-success h3 {
    margin: 0 0 12px;
    font-size: 1.37rem;
    color: #2e1a10;
}

.password-recovery-page .recovery-success p {
    margin: 0;
    font-size: .83rem;
    line-height: 1.65;
    color: #6e6056;
    overflow-wrap: anywhere;
}

.password-recovery-page .recovery-success strong {
    color: #3e3026;
}

.password-recovery-page .recovery-spam-note {
    margin-top: 11px !important;
    font-size: .75rem !important;
}

.password-recovery-page .recovery-resend-button {
    display: block;
    width: 100%;
    margin-top: 20px;
    min-height: 44px;
    padding: 10px 16px;
    color: #fff;
    background: linear-gradient(135deg, #ff8b1b, #ed6f0a);
    border-radius: 11px;
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
}

.password-recovery-page .recovery-resend-button:disabled {
    background: #e7d5c3;
    color: #775f4b;
    cursor: not-allowed;
}

.password-recovery-page .recovery-change-button {
    display: inline-block;
    margin-top: 16px;
    font-size: .8rem;
    font-weight: 800;
    color: #b96719;
    background: none;
    cursor: pointer;
}

.password-recovery-page a:focus-visible,
.password-recovery-page button:focus-visible,
.password-recovery-page input:focus-visible {
    outline: 3px solid rgba(244, 125, 19, .45);
    outline-offset: 3px;
}

/* Explicit hidden states take precedence over component display rules. */
.password-recovery-page [hidden] { display: none !important; }

@keyframes recoveryAppear {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
    .password-recovery-page .forgot-password-container { grid-template-columns: 1fr; }
    .password-recovery-page .recovery-form-panel { padding: 44px 38px; }
}

@media (max-width: 620px) {
    .password-recovery-page .recovery-visual-panel { display: none; }
    .password-recovery-page .recovery-form-panel { padding: 30px 22px 40px; }
    .password-recovery-page .recovery-back-link { margin-bottom: 30px; }
    .password-recovery-page .recovery-form-header h2 { font-size: 2rem; }
}

@media (max-width: 420px) {
    .password-recovery-page .recovery-form-panel { padding: 25px 17px 36px; }
    .password-recovery-page .recovery-form-header h2 { font-size: 1.83rem; }
    .password-recovery-page .recovery-envelope { width: 53px; height: 53px; }
    .password-recovery-page .recovery-section-label { letter-spacing: .08em; font-size: .67rem; }
}

@media (prefers-reduced-motion: reduce) {
    .password-recovery-page .recovery-success { animation: none; }
    .password-recovery-page .recovery-arrow { transition: none; }
}
