/* ==================================================
   ÁREA DE MEMBROS — LEITORES
================================================== */

.portal-member-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:0 13px;
    color:var(--portal-header-text,#fff);
    background:rgba(0,0,0,.14);
    border:1px solid rgba(255,255,255,.3);
    border-radius:6px;
    font-size:12px;
    font-weight:650;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}

.portal-member-link:hover,
.portal-member-link:focus-visible{
    color:var(--portal-header-text,#fff);
    background:rgba(0,0,0,.27);
    border-color:rgba(255,255,255,.62);
}

.portal-member-link.is-logged-in{
    max-width:230px;
}

.portal-member-link.is-logged-in span{
    overflow:hidden;
    text-overflow:ellipsis;
}

.ocohost-members-enabled .portal-site-header .portal-header-search form{
    width:200px;
}

.ocohost-member-area{
    width:min(100%,1080px);
    margin:0 auto;
    padding:34px 20px 60px;
    color:#262626;
}

.member-auth-intro{
    max-width:680px;
    margin:0 auto 30px;
    text-align:center;
}

.member-eyebrow{
    display:block;
    margin-bottom:7px;
    color:var(--portal-header-bg,#b5121b);
    font-size:11px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.member-auth-intro h2,
.member-dashboard-header h2{
    margin:0 0 8px;
    color:#191919;
    font-size:clamp(29px,4vw,43px);
    font-weight:650;
    line-height:1.08;
    letter-spacing:-.035em;
}

.member-auth-intro p{
    margin:0;
    color:#606060;
    font-size:16px;
    line-height:1.5;
}

.member-auth-grid,
.member-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.member-dashboard-grid{
    grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);
}

.member-panel{
    padding:28px;
    background:#fff;
    border:1px solid #dedede;
    border-radius:10px;
    box-shadow:0 8px 30px rgba(0,0,0,.045);
}

.member-panel h3,
.member-saved-section h3{
    margin:0 0 22px;
    color:#222;
    font-size:21px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:-.02em;
}

.member-form,
.member-login-panel form{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.member-form label,
.member-login-panel label{
    color:#3a3a3a;
    font-size:12px;
    font-weight:700;
}

.member-form input[type="text"],
.member-form input[type="email"],
.member-form input[type="password"],
.member-login-panel input[type="text"],
.member-login-panel input[type="password"]{
    width:100%;
    height:46px;
    margin:0 0 7px;
    padding:0 13px;
    color:#222;
    background:#fff;
    border:1px solid #cfcfcf;
    border-radius:5px;
    box-shadow:none;
    font-size:15px;
}

.member-form input:focus,
.member-login-panel input:focus{
    border-color:var(--portal-header-bg,#b5121b);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-header-bg,#b5121b) 13%,transparent);
    outline:0;
}

.member-login-panel .login-remember label{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-weight:500;
}

.member-login-panel .login-submit{
    margin:4px 0 7px;
}

.member-login-panel .button,
.member-primary-button,
.member-secondary-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    color:#fff;
    background:var(--portal-header-bg,#b5121b);
    border:1px solid var(--portal-header-bg,#b5121b);
    border-radius:5px;
    box-shadow:none;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
}

.member-login-panel .button{
    width:100%;
}

.member-login-panel .button:hover,
.member-primary-button:hover,
.member-primary-button:focus-visible{
    color:#fff;
    filter:brightness(.88);
    transform:none;
}

.member-secondary-button{
    color:var(--portal-header-bg,#b5121b);
    background:#fff;
}

.member-secondary-button:hover{
    color:#fff;
    background:var(--portal-header-bg,#b5121b);
}

.member-help-link{
    display:inline-block;
    margin-top:8px;
    color:var(--portal-header-bg,#b5121b);
    font-size:12px;
    font-weight:650;
    text-decoration:none;
}

.member-help-link:hover{
    text-decoration:underline;
}

.member-form-help,
.member-registration-disabled{
    margin:3px 0 8px;
    color:#707070;
    font-size:12px;
    line-height:1.45;
}

.member-password-panel{
    width:min(100%,560px);
    margin:0 auto;
}

.member-password-panel > .member-form-help{
    margin:-8px 0 18px;
    font-size:13px;
}

.member-password-panel .member-help-link{
    margin-top:18px;
}

.member-honeypot{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.member-form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}

.member-form-row > div{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:9px;
}

.member-readonly-email{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:4px 0 12px;
    padding:12px 14px;
    background:#f5f5f5;
    border-radius:5px;
}

.member-readonly-email span{
    color:#777;
    font-size:10px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.member-readonly-email strong{
    overflow:hidden;
    font-size:13px;
    font-weight:600;
    text-overflow:ellipsis;
}

.member-notice{
    margin:0 0 22px;
    padding:13px 16px;
    border:1px solid;
    border-radius:6px;
    font-size:13px;
    line-height:1.45;
}

.member-notice.is-success{
    color:#176b36;
    background:#eef9f1;
    border-color:#a9d9b8;
}

.member-notice.is-error{
    color:#8a2020;
    background:#fff2f2;
    border-color:#e7b1b1;
}

.member-dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 0 28px;
}

.member-summary-panel{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
}

.member-summary-number{
    color:var(--portal-header-bg,#b5121b);
    font-size:58px;
    font-weight:700;
    line-height:1;
    letter-spacing:-.06em;
}

.member-summary-panel p{
    margin:7px 0 16px;
    color:#606060;
    font-size:13px;
    line-height:1.4;
}

.member-saved-section{
    margin-top:42px;
}

.member-section-heading{
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid #dcdcdc;
}

.member-section-heading h3{
    margin:0;
}

.member-saved-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.member-saved-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #dedede;
    border-radius:7px;
}

.member-saved-card-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.member-saved-card img{
    width:100%;
    aspect-ratio:16/9;
    display:block;
    object-fit:cover;
}

.member-saved-card-content{
    padding:15px 15px 12px;
}

.member-saved-card time{
    display:block;
    margin-bottom:6px;
    color:#7b7b7b;
    font-size:10px;
}

.member-saved-card h4{
    margin:0;
    color:#252525;
    font-size:16px;
    font-weight:700;
    line-height:1.22;
    letter-spacing:-.015em;
}

.member-saved-card .ocohost-save-post{
    width:calc(100% - 30px);
    margin:0 15px 15px;
}

.member-empty-state{
    grid-column:1 / -1;
    margin:0;
    padding:28px;
    color:#6d6d6d;
    background:#f6f6f6;
    border-radius:6px;
    text-align:center;
}

.ocohost-save-post-wrap{
    display:flex;
    margin:30px 0 4px;
}

.ocohost-save-post{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 15px;
    color:var(--cat-color,var(--portal-header-bg,#b5121b));
    background:#fff;
    border:1px solid currentColor;
    border-radius:5px;
    box-shadow:none;
    cursor:pointer;
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
}

.ocohost-save-post:hover,
.ocohost-save-post.is-saved{
    color:#fff;
    background:var(--cat-color,var(--portal-header-bg,#b5121b));
    border-color:var(--cat-color,var(--portal-header-bg,#b5121b));
    transform:none;
}

.ocohost-save-post[disabled]{
    cursor:wait;
    opacity:.65;
}

.member-exclusive-preview{
    position:relative;
    overflow:hidden;
    margin-bottom:-12px;
    padding-bottom:38px;
}

.member-exclusive-teaser{
    margin-bottom:0;
    color:#444;
    font-size:17px;
    line-height:1.65;
}

.member-exclusive-teaser p:last-child{
    margin-bottom:0;
}

.member-exclusive-fade{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:76px;
    background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 82%);
    pointer-events:none;
}

.member-exclusive-gate{
    margin:25px 0 35px;
    padding:38px 30px;
    background:#f6f6f6;
    border-top:4px solid var(--cat-color,var(--portal-header-bg,#b5121b));
    border-radius:7px;
    text-align:center;
}

.member-exclusive-gate > i{
    color:var(--cat-color,var(--portal-header-bg,#b5121b));
    font-size:28px;
}

.member-exclusive-gate h2{
    margin:13px 0 8px;
    color:#222;
    font-size:25px;
    font-weight:700;
}

.member-exclusive-gate p{
    max-width:520px;
    margin:0 auto 20px;
    color:#616161;
    font-size:14px;
    line-height:1.5;
}

.member-exclusive-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.member-exclusive-login{
    color:var(--cat-color,var(--portal-header-bg,#b5121b));
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.member-exclusive-login:hover,
.member-exclusive-login:focus-visible{
    text-decoration:underline;
}

.single-special-page .member-exclusive-fade{
    background:linear-gradient(to bottom,rgba(11,11,11,0),var(--special-bg-color,#0b0b0b) 82%);
}

.single-special-page .member-exclusive-teaser{
    color:var(--special-text-color,#fff);
}

@media(max-width:1180px){
    .portal-member-link span{
        display:none;
    }

    .portal-member-link{
        width:40px;
        padding:0;
    }

    .ocohost-members-enabled .portal-site-header .portal-header-search form{
        width:180px;
    }
}

@media(max-width:767px){
    .portal-member-link{
        width:38px;
        min-height:38px;
    }

    .ocohost-member-area{
        padding:24px 14px 44px;
    }

    .member-auth-grid,
    .member-dashboard-grid{
        grid-template-columns:1fr;
    }

    .member-dashboard-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .member-saved-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }
}

@media(max-width:520px){
    .member-panel{
        padding:22px 18px;
    }

    .member-form-row,
    .member-saved-grid{
        grid-template-columns:1fr;
    }

    .member-auth-intro h2,
    .member-dashboard-header h2{
        font-size:29px;
    }

    .member-exclusive-gate{
        padding:30px 18px;
    }

    .member-exclusive-actions{
        flex-direction:column;
        gap:13px;
    }

    .member-exclusive-actions .member-primary-button{
        width:100%;
    }
}
