/* Páginas Minha Conta — layout compatível Nuvemshop */

.account-page {

    padding: 24px 0 48px;

    background: var(--bg-soft, #f7f7f7);

    min-height: 50vh;

}



.account-page--auth {

    padding: 20px 0 32px;

    min-height: calc(100dvh - 72px);

    background: linear-gradient(165deg, #e8ecf1 0%, #f3f5f8 45%, #fafbfc 100%);

    display: flex;

    align-items: flex-start;

}



.account-page--auth .account-page-inner {

    width: 100%;

    max-width: 440px;

    margin: 0 auto;

    padding-left: 16px;

    padding-right: 16px;

}



.account-auth-back {

    margin: 0 0 14px;

    font-size: 0.88rem;

}



.account-auth-back a {

    color: var(--orange, #f57c00);

    font-weight: 600;

}



.account-breadcrumb {

    font-size: 0.82rem;

    color: var(--muted);

    margin-bottom: 20px;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 6px;

}



.account-breadcrumb a:hover {

    color: var(--orange);

}



.account-card {

    width: 100%;

    max-width: 480px;

    margin-left: auto;

    margin-right: auto;

    background: var(--white);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);

    box-sizing: border-box;

}



.account-card--auth {

    max-width: none;

    margin: 0;

    border: none;

    border-radius: 16px;

    box-shadow:

        0 4px 6px rgba(0, 0, 0, 0.04),

        0 16px 40px rgba(0, 0, 0, 0.1);

    overflow: hidden;

    position: relative;

}



.account-card--auth::before {

    content: '';

    display: block;

    height: 4px;

    background: linear-gradient(90deg, var(--orange, #f57c00) 0%, #ffb74d 100%);

}



.account-card-logo {

    display: block;

    text-align: center;

    padding: 22px 24px 0;

}



.account-card-logo img {

    height: 40px;

    width: auto;

    max-width: 180px;

    object-fit: contain;

}



.account-card-head {

    padding: 28px 28px 0;

    text-align: center;

}



.account-card--auth .account-card-head {

    padding-top: 16px;

}



.account-card-head h1 {

    font-size: 1.5rem;

    font-weight: 700;

    color: var(--dark);

    margin-bottom: 8px;

}



.account-card--auth .account-card-head h1 {

    font-size: 1.35rem;

}



.account-card-sub {

    font-size: 0.95rem;

    color: var(--muted);

    line-height: 1.45;

    margin-bottom: 4px;

}



.account-card--auth .account-card-sub {

    font-size: 0.88rem;

}



.account-card-body {

    padding: 20px 28px 28px;

}



.account-card--auth .account-card-body {

    padding: 18px 22px 26px;

}



.account-alert {

    margin: 0 28px 16px;

    padding: 12px 14px;

    border-radius: 8px;

    font-size: 0.88rem;

    line-height: 1.4;

}



.account-card--auth .account-alert {

    margin-left: 22px;

    margin-right: 22px;

}



.account-card-body > .account-alert:first-child {

    margin: 0 0 16px;

}



.account-alert-error {

    background: #fdecea;

    color: #b71c1c;

    border: 1px solid #f5c6cb;

}



.account-alert-success {

    background: #e8f5e9;

    color: #2e7d32;

    border: 1px solid #c8e6c9;

}



.account-alert-info {

    background: #e3f2fd;

    color: #1565c0;

    border: 1px solid #bbdefb;

}



.account-form .form-group {

    margin-bottom: 16px;

}



.account-form label {

    display: block;

    font-size: 0.88rem;

    font-weight: 600;

    color: var(--dark);

    margin-bottom: 6px;

}



.label-optional {

    font-weight: 400;

    color: var(--grey-light);

}



.account-form input[type="text"],

.account-form input[type="email"],

.account-form input[type="tel"],

.account-form input[type="password"] {

    width: 100%;

    padding: 12px 14px;

    border: 1px solid #ddd;

    border-radius: 8px;

    font-size: 1rem;

    font-family: inherit;

    background: #fff;

    transition: border-color 0.2s, box-shadow 0.2s;

    box-sizing: border-box;

}



.account-card--auth .account-form input {

    background: #fafafa;

}



.account-card--auth .account-form input:focus {

    background: #fff;

}



.password-field {

    position: relative;

}



.password-field input {

    padding-right: 48px;

}



.password-toggle {

    position: absolute;

    right: 2px;

    top: 50%;

    transform: translateY(-50%);

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    background: #f0f0f0;

    color: #333;

    font-size: 1.15rem;

    line-height: 1;

    cursor: pointer;

    border-radius: 6px;

    z-index: 2;

}



.password-toggle:hover,

.password-toggle:focus {

    background: #e8e8e8;

    outline: none;

}



.password-toggle .pw-icon-hide {

    display: none;

}



.password-toggle.is-visible .pw-icon-show {

    display: none;

}



.password-toggle.is-visible .pw-icon-hide {

    display: inline;

}



.account-form input:focus {

    outline: none;

    border-color: var(--orange);

    box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.12);

}



.account-forgot {

    text-align: right;

    margin: -8px 0 16px;

    font-size: 0.85rem;

}



.account-forgot a {

    color: var(--muted);

}



.account-forgot a:hover {

    color: var(--orange);

}



.account-recaptcha {

    display: flex;

    justify-content: center;

    margin-bottom: 18px;

}



.account-recaptcha .g-recaptcha {

    transform-origin: center top;

}



.account-form-trust svg path {

    fill: #2e7d32;

}



.account-page--dashboard {

    padding: 20px 0 32px;

    min-height: calc(100dvh - 72px);

    background: linear-gradient(165deg, #e8ecf1 0%, #f3f5f8 45%, #fafbfc 100%);

}



.account-page--dashboard .account-page-inner {

    width: 100%;

    max-width: 440px;

    margin: 0 auto;

    padding-left: 16px;

    padding-right: 16px;

}



.account-card--dashboard {

    max-width: none;

    margin: 0;

    border: none;

    border-radius: 16px;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 16px 40px rgba(0, 0, 0, 0.1);

    overflow: hidden;

}



.account-card--dashboard::before {

    content: '';

    display: block;

    height: 4px;

    background: linear-gradient(90deg, var(--orange, #f57c00) 0%, #ffb74d 100%);

}



.page-account-dashboard .site-footer {

    background: #f0f2f5;

    border-top: 1px solid #e4e7eb;

}



.account-dashboard--premium {

    text-align: center;

}



.account-user-avatar {

    width: 64px;

    height: 64px;

    margin: 0 auto 18px;

    border-radius: 50%;

    background: linear-gradient(135deg, var(--orange, #f57c00), #ffb74d);

    color: #fff;

    font-size: 1.25rem;

    font-weight: 700;

    display: flex;

    align-items: center;

    justify-content: center;

    letter-spacing: 0.04em;

    box-shadow: 0 4px 14px rgba(245, 124, 0, 0.35);

}



.account-info-list {

    list-style: none;

    margin: 0 0 22px;

    padding: 0;

    text-align: left;

}



.account-info-item {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    padding: 14px 16px;

    border: 1px solid #eee;

    border-radius: 10px;

    background: #fafafa;

    margin-bottom: 10px;

}



.account-info-icon {

    width: 36px;

    height: 36px;

    border-radius: 50%;

    background: #fff3e6;

    color: var(--orange, #f57c00);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}



.account-info-body {

    min-width: 0;

}



.account-info-label {

    display: block;

    font-size: 0.72rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.04em;

    color: #888;

    margin-bottom: 2px;

}



.account-info-value {

    display: block;

    font-size: 0.92rem;

    color: #222;

    word-break: break-word;

}



.account-dashboard-actions--premium {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.btn-account--shop {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    text-decoration: none;

    width: 100%;

    box-sizing: border-box;

}



.btn-account-logout {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    width: 100%;

    padding: 13px 16px;

    border: 2px solid #e57373;

    border-radius: 8px;

    background: #fff;

    color: #c62828;

    font-size: 0.9rem;

    font-weight: 700;

    text-decoration: none;

    transition: background 0.15s ease, color 0.15s ease;

    box-sizing: border-box;

}



.btn-account-logout:hover {

    background: #ffebee;

    color: #b71c1c;

}



.account-card--dashboard .account-card-head {

    padding-top: 14px;

}



.page-account-dashboard .site-header {

    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);

}



@media (min-width: 480px) {

    .account-page--dashboard {

        padding-top: 32px;

    }

}



.account-form-trust {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    margin: 0 0 14px;

    font-size: 0.75rem;

    color: #888;

}



.btn-account {

    width: 100%;

    padding: 14px;

    background: var(--orange);

    color: #fff;

    border: none;

    border-radius: 8px;

    font-size: 0.95rem;

    font-weight: 700;

    cursor: pointer;

    margin-top: 4px;

    letter-spacing: 0.02em;

    text-transform: uppercase;

    transition: background 0.15s ease;

}



.btn-account:hover {

    background: var(--orange-hover);

}



.btn-outline-account {

    display: inline-block;

    padding: 12px 20px;

    border: 1px solid var(--dark);

    border-radius: 6px;

    font-weight: 600;

    font-size: 0.9rem;

}



.btn-outline-account:hover {

    background: var(--dark);

    color: #fff;

}



.btn-account-secondary {

    display: inline-block;

    padding: 12px 20px;

    background: transparent;

    border: 1px solid var(--border);

    border-radius: 6px;

    font-weight: 600;

    font-size: 0.9rem;

    color: var(--muted);

}



.btn-account-secondary:hover {

    border-color: var(--dark);

    color: var(--dark);

}



.account-footer-link {

    text-align: center;

    margin-top: 20px;

    font-size: 0.9rem;

    color: var(--muted);

}



.account-footer-link a {

    color: var(--orange);

    font-weight: 600;

}



.account-footer-link a:hover {

    text-decoration: underline;

}



.account-dashboard p {

    margin-bottom: 10px;

    font-size: 0.95rem;

}



.account-hint {

    color: var(--muted);

    font-size: 0.88rem;

    margin: 16px 0 20px;

}



.account-dashboard-actions {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



/* Auth pages — footer mais discreto no mobile */

.page-account-auth .site-footer {

    background: #f0f2f5;

    border-top: 1px solid #e4e7eb;

}



.page-account-auth .site-header {

    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);

}



@media (min-width: 480px) {

    .account-dashboard-actions {

        flex-direction: row;

        flex-wrap: wrap;

    }



    .account-page--auth {

        padding-top: 32px;

        align-items: center;

    }

}



@media (max-width: 991px) {

    .account-page {

        padding: 16px 0 32px;

    }



    .account-page .container {

        padding-left: 16px;

        padding-right: 16px;

    }



    .account-form input {

        font-size: 16px;

        box-sizing: border-box;

    }



    .account-card-head,

    .account-card-body {

        padding-left: 16px;

        padding-right: 16px;

    }



    .account-alert {

        margin-left: 16px;

        margin-right: 16px;

    }



    .account-breadcrumb {

        justify-content: flex-start;

    }



    .account-recaptcha .g-recaptcha {

        transform: scale(0.92);

    }

}



@media (max-width: 360px) {

    .account-recaptcha .g-recaptcha {

        transform: scale(0.85);

    }

}

.account-alert-info {
    background: #e3f2fd;
    border: 1px solid #90caf9;
    color: #1565c0;
    padding: 12px 14px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 0.88rem;
}

.account-alert-info a {
    color: #0d47a1;
    font-weight: 700;
}

.account-orders-list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.account-order-card {
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fafafa;
}

.account-order-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.account-order-num {
    display: block;
    font-size: 1rem;
    color: var(--orange, #f57c00);
}

.account-order-date {
    font-size: 0.78rem;
    color: #888;
}

.account-order-meta {
    font-size: 0.85rem;
    color: #555;
    margin: 0 0 12px;
}

.account-order-status {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 4px 8px;
    border-radius: 4px;
    background: #eee;
    color: #555;
    white-space: nowrap;
}

.account-order-status--pago,
.account-order-status--preparando,
.account-order-status--pronto_retirada,
.account-order-status--enviado,
.account-order-status--a_caminho {
    background: #e8f5e9;
    color: #2e7d32;
}

.account-order-status--entregue,
.account-order-status--retirado {
    background: #e3f2fd;
    color: #1565c0;
}

.account-order-status--pendente {
    background: #fff3e0;
    color: #e65100;
}

.account-order-status--cancelado,
.account-order-status--recusado {
    background: #ffebee;
    color: #c62828;
}

.account-order-status--lg {
    font-size: 0.8rem;
    padding: 6px 12px;
}

.account-order-detail-btn {
    font-size: 0.85rem;
    padding: 10px 14px;
}

.account-orders-empty {
    text-align: center;
    padding: 24px 0;
    color: #666;
}

.account-order-proof {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    padding: 16px;
    border: 2px dashed var(--orange, #f57c00);
    border-radius: 12px;
    background: #fff8f0;
}

.account-order-proof-num {
    display: block;
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    color: var(--orange, #f57c00);
    margin: 4px 0;
}

.account-order-proof-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #888;
}

.account-order-section {
    text-align: left;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee;
}

.account-order-section-title {
    font-size: 0.95rem;
    margin: 0 0 10px;
}

.account-order-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.account-order-items li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    font-size: 0.88rem;
    border-bottom: 1px solid #f0f0f0;
}

.account-order-total {
    text-align: right;
    margin: 12px 0 0;
    font-size: 1rem;
}

.account-order-address,
.account-order-meta-line {
    font-size: 0.88rem;
    color: #444;
    margin: 0 0 6px;
    line-height: 1.5;
}

.account-order-brindes {
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 10px;
    padding: 14px 16px;
    border-bottom: none;
}

.account-order-brindes-list {
    margin: 0;
    padding: 0 0 0 18px;
    font-size: 0.88rem;
    color: #333;
}

.account-order-brindes-list span {
    color: #888;
    font-size: 0.9em;
}

