/* ==================================================
   HAPPY PENS ARCHIVE
   EXPERT SUBMISSIONS
================================================== */

.hpc-expert-submission-page,
.hpc-es-review-page{
    max-width:1180px;
    margin:18px auto 70px;
    padding:0 5px;
    color:#171411;
}

/* =========================
   SUBMIT FORM
========================= */

.hpc-expert-submission-hero,
.hpc-expert-submission-card,
.hpc-expert-submission-success,
.hpc-expert-submission-error,
.hpc-expert-submission-empty,
.hpc-expert-submission-after-success{
    border:1px solid rgba(176,138,82,0.28);
    border-radius:10px;
    background:#FFFDF9;
}

.hpc-expert-submission-hero{
    margin:0 0 12px;
    padding:14px 16px;
}

.hpc-expert-submission-kicker{
    margin:0 0 6px;
    color:#B08A52;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hpc-expert-submission-hero h1{
    margin:0 0 5px;
    color:#171411;
    font-family:inherit;
    font-size:22px;
    font-weight:700;
    line-height:1.2;
}

.hpc-expert-submission-hero p{
    max-width:760px;
    margin:0;
    color:#5E5A55;
    font-size:13px;
    line-height:1.45;
}

.hpc-expert-submission-success,
.hpc-expert-submission-error,
.hpc-expert-submission-empty{
    margin:0 0 12px;
    padding:12px 14px;
    font-size:13px;
    font-weight:700;
    line-height:1.45;
}

.hpc-expert-submission-success{
    border-color:rgba(78,143,90,0.45);
    background:#F5FBF5;
    color:#2F6B3F;
}

.hpc-expert-submission-error,
.hpc-expert-submission-empty{
    border-color:rgba(179,38,30,0.45);
    background:#FFF5F3;
    color:#9A342A;
}

.hpc-expert-submission-card{
    margin:0 0 12px;
    padding:16px;
}

.hpc-expert-submission-card h2{
    margin:0 0 12px;
    color:#171411;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
}

.hpc-expert-submission-type-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.hpc-expert-submission-type-button{
    min-height:112px;
    padding:12px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:8px;
    background:#fff;
    color:#171411;
    text-align:left;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.hpc-expert-submission-type-button strong{
    display:block;
    margin:0 0 7px;
    color:#171411;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
}

.hpc-expert-submission-type-button span{
    display:block;
    color:#5E5A55;
    font-size:12px;
    line-height:1.4;
}

.hpc-expert-submission-type-button:hover,
.hpc-expert-submission-type-button.active{
    border-color:rgba(78,143,90,0.45);
    background:#F4FBF5;
    box-shadow:0 6px 14px rgba(0,0,0,0.035);
}

.hpc-expert-submission-selected-type{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    margin:0 0 14px;
    padding:0 9px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:999px;
    background:#fff;
    color:#8A6A3F;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.hpc-expert-submission-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.hpc-esf-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
    margin:0 0 14px;
}

.hpc-esf-field[hidden],
.hpc-expert-submission-fields[hidden]{
    display:none !important;
}

.hpc-esf-field label{
    color:#5E5A55;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.hpc-esf-field label span{
    color:#B3472E;
}

.hpc-esf-field input,
.hpc-esf-field textarea{
    width:100%;
    min-height:34px;
    padding:6px 8px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#fff;
    color:#171411;
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}

.hpc-esf-field textarea{
    min-height:78px;
    resize:vertical;
}

.hpc-esf-field-main-text textarea{
    min-height:180px;
}

.hpc-esf-field input:focus,
.hpc-esf-field textarea:focus{
    outline:none;
    border-color:#B08A52;
}

.hpc-esf-field-files{
    padding:12px;
    border:1px dashed rgba(176,138,82,0.35);
    border-radius:8px;
    background:#fff;
}

.hpc-esf-field-files small{
    display:block;
    margin-top:0;
    color:#8B867F;
    font-size:12px;
    font-weight:400;
    line-height:1.45;
}

.hpc-esf-field-files input[type="file"]{
    min-height:34px;
    padding:6px 8px;
}

/* =========================
   AGREEMENT
========================= */

.hpc-expert-submission-agreement-block{
    padding:14px;
    border:1px solid rgba(176,138,82,0.24);
    border-radius:8px;
    background:#FFFDF9;
}

.hpc-expert-submission-agreement-details{
    margin:0 0 12px;
    border:1px solid rgba(190,70,70,1);
    border-radius:6px;
    background:#fff;
    overflow:hidden;
}

.hpc-expert-submission-agreement-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    cursor:pointer;
    padding:13px 16px;
    color:#171411;
    font-size:15px;
    font-weight:700;
    list-style:none;
    user-select:none;
    background:#F4FBF5;
}

.hpc-expert-submission-agreement-details summary::-webkit-details-marker{
    display:none;
}

.hpc-expert-submission-agreement-details summary::before{
    content:"Required reading";
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 8px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#FDFBF8;
    color:#8E6D36;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    order:2;
    margin-left:auto;
}

.hpc-expert-submission-agreement-details summary::after{
    content:"Open +";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid #B08A52;
    border-radius:4px;
    background:#B08A52;
    color:#FDFBF8;
    font-size:11px;
    font-weight:700;
    line-height:1;
    order:3;
}

.hpc-expert-submission-agreement-details[open] summary::after{
    content:"Close −";
    background:#8E6D36;
    border-color:#8E6D36;
}

.hpc-expert-submission-agreement-text{
    padding:14px 16px 16px;
    border-top:1px solid rgba(176,138,82,0.16);
    background:#fff;
    color:#5E5A55;
    font-size:13px;
    line-height:1.6;
}

.hpc-expert-submission-agreement-text p{
    margin:0 0 10px;
}

.hpc-expert-submission-agreement-text ol{
    margin:0;
    padding-left:20px;
}

.hpc-expert-submission-agreement-text li{
    margin:0 0 10px;
}

.hpc-expert-submission-agreement-checkbox{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    padding:11px 12px;
    border:1px solid rgba(176,138,82,0.18);
    border-radius:6px;
    background:#fff;
    color:#171411;
    font-size:13px;
    font-weight:600;
    line-height:1.45;
}

.hpc-expert-submission-agreement-checkbox input{
    margin-top:3px;
    flex:0 0 auto;
    accent-color:#B08A52;
}

/* =========================
   SUBMIT ACTIONS
========================= */

.hpc-expert-submission-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:14px;
}

.hpc-expert-submission-actions button,
.hpc-expert-submission-after-success a,
.hpc-es-review-admin button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border:1px solid #B08A52;
    border-radius:4px;
    background:#B08A52;
    color:#FDFBF8;
    text-decoration:none !important;
    font-size:12px;
    font-weight:700;
    line-height:1;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
}

.hpc-expert-submission-actions button:hover,
.hpc-expert-submission-after-success a:hover,
.hpc-es-review-admin button:hover{
    background:#8E6D36;
    border-color:#8E6D36;
    color:#FFFFFF !important;
}

.hpc-expert-submit-material{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:0 11px;
    border:1px solid rgba(176,138,82,0.35);
    border-radius:4px;
    background:#FFFDF9;
    color:#8A6A3F !important;
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-decoration:none !important;
}

.hpc-expert-submit-material:hover{
    border-color:#B08A52;
    background:#B08A52;
    color:#FDFBF8 !important;
}

/* =========================
   SUCCESS AFTER SUBMIT
========================= */

.hpc-expert-submission-after-success{
    max-width:760px;
    padding:18px;
    color:#3F6E48;
    border-color:rgba(78,143,90,0.45);
    background:#F5FBF5;
}

.hpc-expert-submission-after-success strong{
    display:block;
    margin:0 0 6px;
    color:#171411;
    font-size:17px;
    font-weight:700;
    line-height:1.3;
}

.hpc-expert-submission-after-success p{
    margin:0 0 14px;
    color:#5E5A55;
    font-size:13px;
    line-height:1.45;
}

/* =========================
   FRONTEND REVIEW
========================= */

.hpc-es-review-hero,
.hpc-es-review-card,
.hpc-es-review-empty{
    border:1px solid rgba(176,138,82,0.28);
    border-radius:10px;
    background:#FFFDF9;
}

.hpc-es-review-hero{
    margin-bottom:12px;
    padding:14px 16px;
}

.hpc-es-review-hero h1{
    margin:0 0 5px;
    color:#171411;
    font-family:inherit;
    font-size:22px;
    font-weight:700;
    line-height:1.2;
}

.hpc-es-review-hero p{
    max-width:780px;
    margin:0;
    color:#5E5A55;
    font-size:13px;
    line-height:1.45;
}

.hpc-es-review-count{
    margin-top:6px;
    color:#5E5A55;
    font-size:12px;
    font-weight:700;
}

.hpc-es-review-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.hpc-es-review-card{
    overflow:hidden;
    box-shadow:0 8px 18px rgba(0,0,0,0.025);
}

.hpc-es-review-summary{
    display:grid;
    grid-template-columns:auto minmax(260px,1fr) auto auto auto auto;
    gap:10px;
    align-items:center;
    cursor:pointer;
    list-style:none;
    padding:8px 15px;
    background:#FFFCF7;
}

.hpc-es-review-summary::-webkit-details-marker{
    display:none;
}

.hpc-es-review-summary::after{
    content:"Open";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 9px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#fff;
    color:#5E5A55;
    font-size:12px;
    font-weight:700;
    line-height:1;
    justify-self:end;
    white-space:nowrap;
}

.hpc-es-review-card[open] .hpc-es-review-summary::after{
    content:"Close";
}

.hpc-es-review-code{
    color:#B08A52;
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
}

.hpc-es-review-title{
    min-width:0;
    color:#171411;
    font-size:16px;
    font-weight:600;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.hpc-es-review-expert,
.hpc-es-review-type{
    color:#5E5A55;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

.hpc-es-review-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 9px;
    border:1px solid rgba(176,138,82,0.35);
    border-radius:4px;
    background:#fff;
    color:#171411;
    font-size:11px;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
}

.hpc-es-review-status-new .hpc-es-review-status{
    color:#8E6D36;
}

.hpc-es-review-status-under_review .hpc-es-review-status{
    color:#B87020;
}

.hpc-es-review-status-accepted .hpc-es-review-status{
    color:#3F7A4D;
}

.hpc-es-review-status-rejected .hpc-es-review-status{
    color:#B3472E;
}

.hpc-es-review-body{
    padding:0 0 14px;
    border-top:1px solid rgba(176,138,82,0.12);
    background:#FFFDF9;
}

.hpc-es-review-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    padding:10px 16px;
    border-bottom:1px solid rgba(176,138,82,0.10);
    color:#5E5A55;
    font-size:12px;
}

.hpc-es-review-meta span{
    display:inline;
    color:#5E5A55;
    font-size:12px;
}

.hpc-es-review-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:14px;
    align-items:start;
    padding:14px 16px 0;
}

.hpc-es-review-fields{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0 0 12px;
}

.hpc-es-review-fields div{
    padding:10px;
    border:1px solid rgba(176,138,82,0.16);
    border-radius:6px;
    background:#fff;
}

.hpc-es-review-fields span{
    display:block;
    margin-bottom:4px;
    color:#5E5A55;
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.hpc-es-review-fields strong{
    display:block;
    color:#171411;
    font-size:13px;
    line-height:1.3;
}

.hpc-es-review-text-block{
    margin:0 0 12px;
    padding:12px;
    border:1px solid rgba(176,138,82,0.16);
    border-radius:8px;
    background:#fff;
}

.hpc-es-review-text-block h4,
.hpc-es-review-admin h4{
    margin:0 0 8px;
    color:#171411;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
}

.hpc-es-review-text-block div,
.hpc-es-review-text-block p{
    margin:0;
    color:#5E5A55;
    font-size:13px;
    line-height:1.45;
}

.hpc-es-review-admin{
    padding:12px;
    border:1px solid rgba(176,138,82,0.16);
    border-radius:8px;
    background:#fff;
}

.hpc-es-review-admin form{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.hpc-es-review-admin label{
    color:#5E5A55;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.hpc-es-review-admin input,
.hpc-es-review-admin select,
.hpc-es-review-admin textarea{
    width:100%;
    min-height:34px;
    padding:6px 8px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#fff;
    color:#171411;
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}

.hpc-es-review-admin textarea{
    min-height:70px;
    resize:vertical;
}

.hpc-es-review-admin input:focus,
.hpc-es-review-admin select:focus,
.hpc-es-review-admin textarea:focus{
    outline:none;
    border-color:#B08A52;
}

.hpc-es-review-reminder{
    margin:6px 0;
    color:#5E5A55;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}

.hpc-es-review-filters{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    margin:0 0 12px;
}

.hpc-es-review-filters a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 10px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#fff;
    color:#171411;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.hpc-es-review-filters a:hover,
.hpc-es-review-filters a.active{
    border-color:#B08A52;
    background:#B08A52;
    color:#FDFBF8;
}

.hpc-es-review-settings{
    margin:0 0 12px;
    padding:12px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:10px;
    background:#FFFDF9;
}

.hpc-es-review-settings summary{
    cursor:pointer;
    color:#171411;
    font-size:13px;
    font-weight:700;
}

.hpc-es-review-settings-form{
    margin-top:12px;
}

.hpc-es-review-settings-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin:0 0 12px;
}

.hpc-es-review-settings-grid label{
    display:flex;
    gap:8px;
    padding:10px;
    border:1px solid rgba(176,138,82,0.18);
    border-radius:6px;
    background:#fff;
}

.hpc-es-review-settings-grid input{
    margin-top:2px;
    accent-color:#B08A52;
}

.hpc-es-review-settings-grid strong{
    display:block;
    margin:0 0 4px;
    color:#171411;
    font-size:12px;
}

.hpc-es-review-settings-grid em{
    display:block;
    color:#5E5A55;
    font-size:11px;
    font-style:normal;
    line-height:1.35;
}

.hpc-es-review-delete-files{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:4px 0 8px;
    color:#5E5A55;
    font-size:12px;
    font-weight:700;
}

.hpc-es-review-delete-files input{
    width:auto;
    min-height:0;
    margin-top:2px;
    accent-color:#B3472E;
}

@media(max-width:1200px){
    .hpc-es-review-summary{
        grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;
        gap:8px;
    }

    .hpc-es-review-settings-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .hpc-es-review-summary,
    .hpc-es-review-grid,
    .hpc-es-review-fields{
        grid-template-columns:1fr;
    }

    .hpc-es-review-title{
        white-space:normal;
    }
}

@media(max-width:720px){
    .hpc-es-review-settings-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   ATTACHED FILES
========================= */

.hpc-es-review-file-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.hpc-es-review-file{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:10px;
    border:1px solid rgba(176,138,82,0.16);
    border-radius:6px;
    background:#FFFDF9;
    color:#171411;
    text-decoration:none !important;
}

.hpc-es-review-file:hover{
    border-color:#B08A52;
}

.hpc-es-review-file strong{
    color:#171411;
    font-size:13px;
    line-height:1.3;
}

.hpc-es-review-file span{
    color:#5E5A55;
    font-size:11px;
    line-height:1.2;
}

/* =========================
   DELETE
========================= */

.hpc-es-review-delete-form{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(176,138,82,0.12);
}

.hpc-es-review-delete-button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    min-width:0;
    max-width:100%;
    min-height:34px;
    padding:0 12px;
    border:1px solid #B3472E !important;
    border-radius:4px;
    background:#fff !important;
    color:#B3472E !important;
    font-size:12px;
    font-weight:700;
    line-height:1;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
    box-sizing:border-box;
}

.hpc-es-review-delete-button:hover{
    background:#B3472E !important;
    border-color:#B3472E !important;
    color:#FDFBF8 !important;
}

/* =========================
   PAGINATION / EMPTY
========================= */

.hpc-es-review-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin:0 0 12px;
}

.hpc-es-review-list + .hpc-es-review-pagination{
    margin:12px 0 0;
}

.hpc-es-review-pagination a,
.hpc-es-review-pagination strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    min-height:32px;
    padding:0 10px;
    border:1px solid rgba(176,138,82,0.28);
    border-radius:4px;
    background:#fff;
    color:#171411;
    text-decoration:none !important;
    font-size:12px;
    font-weight:700;
    line-height:1;
}

.hpc-es-review-pagination a:hover,
.hpc-es-review-pagination strong{
    border-color:#B08A52;
    background:#B08A52;
    color:#FDFBF8;
}

.hpc-es-review-empty{
    padding:18px;
    border-style:dashed;
    color:#5E5A55;
    font-size:14px;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1200px){
    .hpc-expert-submission-type-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .hpc-es-review-summary{
        grid-template-columns:120px 1fr 140px;
    }

    .hpc-es-review-type,
    .hpc-es-review-status{
        grid-column:auto;
    }

    .hpc-es-review-fields{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .hpc-expert-submission-type-grid,
    .hpc-expert-submission-grid,
    .hpc-es-review-summary,
    .hpc-es-review-grid,
    .hpc-es-review-fields{
        grid-template-columns:1fr;
    }

    .hpc-es-review-file-list{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .hpc-expert-submission-page,
    .hpc-es-review-page{
        padding:0 14px 55px;
    }
}