/* Florida Property Discussions | FPS 2
   Page-specific CSS consolidated from the legacy discussion application. */

.fps2-site.page-discussions .fps-site-layout.no-sidebar {
  width: min(calc(100% - 40px), 1240px);
  max-width: 1240px;
  margin-top: 22px;
  display: block;
}

.fps2-site.page-discussions .fps-discussion-nav-wrap {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 760px) {
  .fps2-site.page-discussions .fps-site-layout.no-sidebar {
    width: min(calc(100% - 28px), 1240px);
  }
}


/* ===== discussions/login.php ===== */

.discussion-auth-page{
    max-width:760px;
    margin:0 auto;
    padding:36px 20px 56px;
}

.discussion-auth-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-auth-card h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-auth-intro{
    margin:0 0 24px;
    line-height:1.7;
    color:#46545f;
}

.discussion-auth-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-auth-field{
    margin-bottom:18px;
}

.discussion-auth-field label{
    display:block;
    margin-bottom:7px;
    font-weight:700;
}

.discussion-auth-field input{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-auth-field input:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-auth-submit{
    display:inline-block;
    padding:12px 20px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-auth-forgot{
    margin:-6px 0 18px;
    font-size:.92rem;
}

.discussion-auth-forgot a{
    font-weight:700;
    text-decoration:none;
}

.discussion-auth-note{
    margin-top:22px;
    padding:15px 17px;
    background:#f3f8fb;
    border-radius:10px;
    color:#4d5c67;
    line-height:1.6;
}

.discussion-auth-links{
    margin-top:18px;
    display:flex;
    flex-wrap:wrap;
    gap:12px 18px;
}

.discussion-auth-links a{
    text-decoration:none;
}

.discussion-auth-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}


.discussion-social-message{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid rgba(0,104,183,.24);
    border-radius:10px;
    background:#f1f7fd;
    color:#23485f;
    font-weight:700;
    line-height:1.55;
}

.discussion-google-wrap{
    margin:2px 0 22px;
}

.discussion-google-button{
    display:flex;
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:11px;
    padding:10px 16px;
    border:1px solid #747775;
    border-radius:8px;
    background:#fff;
    color:#1f1f1f;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 1px 2px rgba(60,64,67,.08);
}

.discussion-google-button:hover,
.discussion-google-button:focus-visible{
    background:#f8faff;
    border-color:#5f6368;
    text-decoration:none;
}

.discussion-google-button:focus-visible{
    outline:3px solid rgba(0,104,183,.20);
    outline-offset:2px;
}

.discussion-google-g{
    display:block;
    width:18px;
    height:18px;
    flex:0 0 18px;
}

.discussion-auth-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 22px;
    color:#73808a;
    font-size:.88rem;
    font-weight:700;
}

.discussion-auth-divider::before,
.discussion-auth-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:rgba(18,64,93,.15);
}

@media (max-width:640px){
    .discussion-auth-page{
        padding:24px 14px 42px;
    }

    .discussion-auth-card{
        padding:22px;
    }

    .discussion-auth-submit{
        width:100%;
    }
}


/* ===== discussions/start-choose.php ===== */

.discussion-start-choose-page{
    max-width:980px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-start-choose-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-start-choose-breadcrumb a{
    text-decoration:none;
}

.discussion-start-choose-hero{
    padding:30px;
    margin-bottom:22px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-start-choose-hero h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
}

.discussion-start-choose-hero p{
    max-width:760px;
    margin:0;
    font-size:1.06rem;
    line-height:1.7;
    color:#4f5f6a;
}

.discussion-start-choose-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.discussion-start-choose-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.discussion-start-choose-card{
    height:100%;
    box-sizing:border-box;
    padding:26px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}

.discussion-start-choose-link:hover .discussion-start-choose-card,
.discussion-start-choose-link:focus-visible .discussion-start-choose-card{
    transform:translateY(-2px);
    border-color:rgba(47,107,79,.45);
    box-shadow:0 12px 30px rgba(18,64,93,.1);
}

.discussion-start-choose-card h2{
    margin:0 0 10px;
    color:#2f6b4f;
    font-size:1.35rem;
    line-height:1.25;
}

.discussion-start-choose-link:hover h2,
.discussion-start-choose-link:focus-visible h2{
    color:#24543e;
}

.discussion-start-choose-card p{
    margin:0;
    line-height:1.68;
    color:#4e5d68;
}

.discussion-start-choose-action{
    display:inline-block;
    margin-top:18px;
    color:#2f6b4f;
    font-weight:800;
}

.discussion-start-choose-link:hover .discussion-start-choose-action,
.discussion-start-choose-link:focus-visible .discussion-start-choose-action{
    color:#24543e;
}

.discussion-start-choose-note{
    margin-top:22px;
    padding:18px 20px;
    background:#f3f8fb;
    border-radius:12px;
    color:#4f5f6a;
    line-height:1.65;
}

.discussion-start-choose-note strong{
    color:#24323c;
}

@media (max-width:720px){
    .discussion-start-choose-page{
        padding:24px 14px 42px;
    }

    .discussion-start-choose-hero{
        padding:23px;
    }

    .discussion-start-choose-grid{
        grid-template-columns:1fr;
    }

    .discussion-start-choose-card{
        padding:22px;
    }
}


/* ===== discussions/account.php ===== */

.discussion-account-page{
    max-width:860px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-account-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-account-breadcrumb a{
    text-decoration:none;
}

.discussion-account-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-account-card h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-account-intro{
    margin:0 0 26px;
    color:#56646f;
    line-height:1.65;
}

.discussion-account-details{
    display:grid;
    gap:0;
    border:1px solid rgba(18,64,93,.13);
    border-radius:14px;
    overflow:hidden;
}

.discussion-account-row{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:18px;
    padding:16px 18px;
    background:#fff;
    border-bottom:1px solid rgba(18,64,93,.1);
}

.discussion-account-row:last-child{
    border-bottom:0;
}

.discussion-account-label{
    font-weight:800;
    color:#344651;
}

.discussion-account-value{
    min-width:0;
    overflow-wrap:anywhere;
    color:#24323c;
}

.discussion-account-badge{
    display:inline-block;
    padding:5px 9px;
    border-radius:999px;
    background:#eef5f8;
    color:#24485d;
    font-size:.86rem;
    font-weight:800;
}

.discussion-account-admin-badge{
    display:inline-block;
    margin-left:6px;
    padding:5px 9px;
    border-radius:999px;
    background:#eef0f8;
    color:#313b70;
    font-size:.86rem;
    font-weight:800;
}

.discussion-account-status{
    display:inline-block;
    padding:5px 9px;
    border-radius:999px;
    background:#eef8f1;
    color:#265b33;
    font-size:.86rem;
    font-weight:800;
    text-transform:capitalize;
}

.discussion-account-note{
    margin-top:22px;
    padding:17px 19px;
    background:#f3f8fb;
    border-radius:12px;
    color:#4f5f6a;
    line-height:1.65;
}

.discussion-account-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.discussion-account-actions a{
    display:inline-block;
    padding:11px 16px;
    border-radius:9px;
    text-decoration:none;
    font-weight:700;
}

.discussion-account-primary{
    background:#123f5d;
    color:#fff !important;
}

.discussion-account-secondary{
    background:#fff;
    border:1px solid #b9cbd6;
    color:#123f5d !important;
}

@media (max-width:640px){
    .discussion-account-page{
        padding:24px 14px 42px;
    }

    .discussion-account-card{
        padding:22px;
    }

    .discussion-account-row{
        grid-template-columns:1fr;
        gap:5px;
    }

    .discussion-account-actions a{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* ===== discussions/reset-password.php ===== */

.discussion-reset-page{
    max-width:720px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-reset-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-reset-breadcrumb a{
    text-decoration:none;
}

.discussion-reset-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-reset-card h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-reset-intro{
    margin:0 0 24px;
    color:#56646f;
    line-height:1.65;
}

.discussion-reset-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-reset-success{
    padding:18px 20px;
    border:1px solid #b8ddc2;
    border-radius:12px;
    background:#eef8f1;
    color:#265b33;
    line-height:1.65;
}

.discussion-reset-success strong{
    display:block;
    margin-bottom:5px;
}

.discussion-reset-field{
    margin-bottom:19px;
}

.discussion-reset-field label{
    display:block;
    margin-bottom:7px;
    font-weight:800;
}

.discussion-reset-field input{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-reset-field input:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-reset-help{
    margin-top:6px;
    color:#687681;
    font-size:.91rem;
    line-height:1.5;
}

.discussion-reset-submit{
    display:inline-block;
    padding:12px 19px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-reset-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    margin-top:22px;
}

.discussion-reset-links a{
    font-weight:700;
    text-decoration:none;
}

.discussion-reset-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.discussion-reset-note{
    margin-top:22px;
    padding:16px 18px;
    background:#f3f8fb;
    border-radius:11px;
    color:#4f5f6a;
    line-height:1.62;
}

@media (max-width:640px){
    .discussion-reset-page{
        padding:24px 14px 42px;
    }

    .discussion-reset-card{
        padding:22px;
    }

    .discussion-reset-submit{
        width:100%;
    }
}


/* ===== discussions/category.php ===== */

.discussion-category-page{
    max-width:1180px;
    margin:0 auto;
    padding:34px 20px 54px;
}

.discussion-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-breadcrumb a{
    text-decoration:none;
}

.discussion-category-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:28px 30px;
    background:#ffffff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-category-hero h1{
    margin:0 0 10px;
    font-size:clamp(1.9rem,4vw,2.85rem);
    line-height:1.08;
}

.discussion-category-hero p{
    max-width:800px;
    margin:0;
    font-size:1.05rem;
    line-height:1.7;
}

.discussion-category-account{
    min-width:220px;
    padding:16px 18px;
    background:#f3f8fb;
    border-radius:14px;
}

.discussion-category-account strong{
    display:block;
    margin-bottom:5px;
}

.discussion-category-account-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px 10px;
    margin-top:12px;
}

.discussion-category-account-links a{
    text-decoration:none;
    font-size:.9rem;
    font-weight:700;
}

.discussion-category-section{
    margin-top:28px;
}

.discussion-category-heading{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    margin-bottom:14px;
}

.discussion-category-heading-text h2{
    display:inline-flex;
    align-items:center;
    margin:0;
    padding:6px 11px;
    border-radius:999px;
    background:linear-gradient(135deg,#0068b7,#00a3e0);
    color:#fff;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(0,104,183,.18);
}

.discussion-category-heading-text p{
    margin:5px 0 0;
    color:#5c6974;
}

.discussion-start-button{
    display:inline-block;
    flex:0 0 auto;
    padding:11px 16px;
    border-radius:9px;
    background:#123f5d;
    color:#fff !important;
    text-decoration:none;
    font-weight:700;
}

.discussion-login-button{
    display:inline-block;
    flex:0 0 auto;
    padding:10px 15px;
    border:1px solid #b9cbd6;
    border-radius:9px;
    background:#fff;
    color:#123f5d !important;
    text-decoration:none;
    font-weight:700;
}

.discussion-list{
    display:grid;
    gap:6px;
    overflow:visible;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.discussion-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:19px 22px;
    background:#fff;
    border:1px solid rgba(18,64,93,.22);
    border-radius:10px;
    box-shadow:0 3px 10px rgba(18,64,93,.035);
}

.discussion-row:last-child{
    border:1px solid rgba(18,64,93,.22);
}

.discussion-row h3{
    margin:0 0 6px;
    font-size:1.08rem;
}

.discussion-row h3 a{
    color:#2f6b4f;
    text-decoration:none;
}

.discussion-row h3 a:hover,
.discussion-row h3 a:focus-visible{
    color:#24543e;
    text-decoration:underline;
}

.discussion-row-meta{
    font-size:.92rem;
    color:#66737e;
}

.discussion-row-stats{
    min-width:105px;
    text-align:right;
    font-size:.92rem;
    color:#55636d;
}

.discussion-row-stats strong{
    display:block;
    font-size:1rem;
    color:#17212b;
}

.discussion-badge{
    display:inline-block;
    margin-left:6px;
    padding:3px 7px;
    border-radius:999px;
    background:#eef5f8;
    font-size:.78rem;
    font-weight:700;
    color:#24485d;
    vertical-align:middle;
}

.discussion-pinned{
    display:inline-block;
    margin-left:6px;
    padding:3px 7px;
    border-radius:999px;
    background:#eef8f1;
    font-size:.78rem;
    font-weight:800;
    color:#2f6b4f;
    vertical-align:middle;
}

.discussion-locked{
    display:inline-block;
    margin-left:6px;
    font-size:.78rem;
    font-weight:700;
    color:#7a4d00;
}

.discussion-empty{
    padding:34px 24px;
    text-align:center;
}

.discussion-empty strong{
    display:block;
    margin-bottom:7px;
    font-size:1.12rem;
}

.discussion-empty p{
    margin:0;
    line-height:1.6;
    color:#5c6974;
}

.discussion-pagination{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-top:18px;
}

.discussion-pagination a{
    display:inline-block;
    padding:9px 13px;
    border:1px solid #b9cbd6;
    border-radius:8px;
    background:#fff;
    color:#2f6b4f !important;
    text-decoration:none;
    font-weight:800;
}

.discussion-pagination a:hover,
.discussion-pagination a:focus-visible{
    color:#24543e !important;
    border-color:#8eabbc;
}

.discussion-pagination-status{
    color:#66737e;
    font-size:.92rem;
}

@media (max-width:760px){
    .discussion-category-page{
        padding:24px 14px 42px;
    }

    .discussion-category-hero{
        grid-template-columns:1fr;
        padding:23px;
    }

    .discussion-category-account{
        min-width:0;
    }

    .discussion-category-heading{
        display:block;
    }

    .discussion-category-heading-actions{
        margin-top:13px;
    }

    .discussion-start-button,
    .discussion-login-button{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

    .discussion-row{
        grid-template-columns:1fr;
    }

    .discussion-row-stats{
        text-align:left;
    }
}


/* ===== discussions/professionals.php ===== */

.discussion-pro-page{
    max-width:1040px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-pro-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-pro-breadcrumb a{
    text-decoration:none;
}

.discussion-pro-hero{
    padding:30px;
    margin-bottom:22px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-pro-hero h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
}

.discussion-pro-hero p{
    max-width:820px;
    margin:0;
    font-size:1.06rem;
    line-height:1.7;
    color:#4f5f6a;
}

.discussion-pro-summary{
    margin:0 0 22px;
    padding:20px 22px;
    background:#f3f8fb;
    border:1px solid rgba(18,64,93,.12);
    border-radius:15px;
}

.discussion-pro-summary strong{
    color:#123f5d;
}

.discussion-pro-summary p{
    margin:0;
    line-height:1.68;
    color:#465762;
}

.discussion-pro-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.discussion-pro-card{
    display:flex;
    flex-direction:column;
    padding:26px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:17px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
}

.discussion-pro-card h2{
    margin:0 0 8px;
    font-size:1.45rem;
    color:#123f5d;
}

.discussion-pro-card > p{
    margin:0 0 16px;
    line-height:1.68;
    color:#4e5d68;
}

.discussion-pro-badge{
    margin:4px 0 16px;
    padding:15px 17px;
    background:#f6faf8;
    border:1px solid #cfe3d8;
    border-radius:12px;
}

.discussion-pro-badge strong{
    display:block;
    margin-bottom:5px;
    color:#2f6b4f;
    font-size:1.05rem;
}

.discussion-pro-badge p{
    margin:0;
    line-height:1.6;
    color:#4e5d68;
}

.discussion-pro-price{
    margin:4px 0 16px;
    padding:15px 17px;
    background:#f3f8fb;
    border:1px solid #cadde7;
    border-radius:12px;
}

.discussion-pro-price strong{
    display:block;
    margin-bottom:4px;
    color:#123f5d;
}

.discussion-pro-price p{
    margin:0;
    line-height:1.6;
    color:#4e5d68;
}

.discussion-pro-list{
    margin:0 0 18px;
    padding-left:20px;
    color:#4e5d68;
}

.discussion-pro-list li{
    margin:0 0 9px;
    line-height:1.58;
}

.discussion-pro-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:auto;
    padding-top:5px;
}

.discussion-pro-card-actions a{
    display:inline-block;
    padding:10px 14px;
    border-radius:9px;
    text-decoration:none;
    font-weight:800;
}

.discussion-pro-primary{
    background:#123f5d;
    color:#fff !important;
}

.discussion-pro-secondary{
    background:#fff;
    border:1px solid #b9cbd6;
    color:#123f5d !important;
}

.discussion-pro-guideline{
    margin-top:22px;
    padding:25px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:17px;
    box-shadow:0 8px 24px rgba(18,64,93,.05);
}

.discussion-pro-guideline h2{
    margin:0 0 8px;
    font-size:1.35rem;
}

.discussion-pro-guideline > p{
    margin:0 0 17px;
    line-height:1.68;
    color:#4e5d68;
}

.discussion-pro-examples{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.discussion-pro-example{
    padding:17px;
    border-radius:12px;
}

.discussion-pro-example h3{
    margin:0 0 7px;
    font-size:1rem;
}

.discussion-pro-example p{
    margin:0;
    line-height:1.6;
    color:#4e5d68;
}

.discussion-pro-example-good{
    background:#f6faf8;
    border:1px solid #cfe3d8;
}

.discussion-pro-example-good h3{
    color:#2f6b4f;
}

.discussion-pro-example-no{
    background:#fff8f3;
    border:1px solid #f0d5c3;
}

.discussion-pro-example-no h3{
    color:#8b4b25;
}

.discussion-pro-bottom{
    margin-top:22px;
    padding:22px 24px;
    background:#123f5d;
    border-radius:15px;
    color:#fff;
}

.discussion-pro-bottom h2{
    margin:0 0 8px;
    font-size:1.25rem;
    color:#fff;
}

.discussion-pro-bottom p{
    margin:0;
    line-height:1.68;
    color:#fff;
}

.discussion-pro-footer-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.discussion-pro-footer-actions a{
    display:inline-block;
    padding:11px 16px;
    border-radius:9px;
    text-decoration:none;
    font-weight:800;
}

@media (max-width:760px){
    .discussion-pro-page{
        padding:24px 14px 42px;
    }

    .discussion-pro-hero,
    .discussion-pro-card,
    .discussion-pro-guideline{
        padding:21px;
    }

    .discussion-pro-grid,
    .discussion-pro-examples{
        grid-template-columns:1fr;
    }

    .discussion-pro-card-actions a,
    .discussion-pro-footer-actions a{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* ===== discussions/start.php ===== */

.discussion-start-page{
    max-width:860px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-start-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-start-breadcrumb a{
    text-decoration:none;
}

.discussion-start-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-start-card h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-start-category{
    margin:0 0 24px;
    color:#56646f;
    line-height:1.6;
}

.discussion-start-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-start-field{
    margin-bottom:20px;
}

.discussion-start-field label{
    display:block;
    margin-bottom:7px;
    font-weight:700;
}

.discussion-start-field input,
.discussion-start-field textarea{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-start-field textarea{
    min-height:220px;
    resize:vertical;
    line-height:1.6;
}

.discussion-start-field input:focus,
.discussion-start-field textarea:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-start-help{
    margin-top:6px;
    color:#687681;
    font-size:.91rem;
    line-height:1.5;
}

.discussion-start-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.discussion-start-submit{
    display:inline-block;
    padding:12px 20px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-start-cancel{
    text-decoration:none;
}

.discussion-start-note{
    margin-top:22px;
    padding:15px 17px;
    background:#f3f8fb;
    border-radius:10px;
    color:#4d5c67;
    line-height:1.6;
}

.discussion-start-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

@media (max-width:640px){
    .discussion-start-page{
        padding:24px 14px 42px;
    }

    .discussion-start-card{
        padding:22px;
    }

    .discussion-start-submit{
        width:100%;
    }
}


/* ===== discussions/admin.php ===== */

.discussion-admin-page{
    max-width:1180px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-admin-header{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    margin-bottom:24px;
    padding:26px 28px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(18,64,93,.07);
}

.discussion-admin-header h1{
    margin:0 0 7px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-admin-header p{
    margin:0;
    color:#586671;
    line-height:1.6;
}

.discussion-admin-header a{
    white-space:nowrap;
    text-decoration:none;
    font-weight:700;
}

.discussion-admin-message,
.discussion-admin-error{
    margin-bottom:18px;
    padding:13px 15px;
    border-radius:10px;
    font-weight:700;
}

.discussion-admin-message{
    border:1px solid #a9d3b5;
    background:#eef9f1;
    color:#245c34;
}

.discussion-admin-error{
    border:1px solid #e2aaaa;
    background:#fff3f3;
    color:#812727;
}

.discussion-admin-list{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
}

.discussion-admin-row{
    padding:22px;
    border-bottom:1px solid rgba(18,64,93,.11);
}

.discussion-admin-row:last-child{
    border-bottom:0;
}

.discussion-admin-row-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.discussion-admin-title{
    min-width:0;
}

.discussion-admin-title h2{
    margin:0 0 7px;
    font-size:1.12rem;
}

.discussion-admin-title h2 a{
    color:inherit;
    text-decoration:none;
}

.discussion-admin-title h2 a:hover,
.discussion-admin-title h2 a:focus-visible{
    text-decoration:underline;
}

.discussion-admin-meta{
    color:#66737e;
    font-size:.92rem;
    line-height:1.55;
}

.discussion-admin-state{
    flex:0 0 auto;
    padding:5px 9px;
    border-radius:999px;
    background:#eef5f8;
    font-size:.82rem;
    font-weight:700;
}

.discussion-admin-state.is-locked{
    background:#fff3db;
    color:#7a4d00;
}

.discussion-admin-controls{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:17px;
    padding-top:16px;
    border-top:1px solid rgba(18,64,93,.1);
}

.discussion-admin-controls form{
    margin:0;
}

.discussion-admin-button,
.discussion-admin-select{
    min-height:38px;
    box-sizing:border-box;
    border-radius:8px;
    font:inherit;
}

.discussion-admin-button{
    padding:8px 12px;
    border:1px solid #b9cbd6;
    background:#fff;
    color:#123f5d;
    font-weight:700;
    cursor:pointer;
}

.discussion-admin-button.primary{
    background:#123f5d;
    border-color:#123f5d;
    color:#fff;
}

.discussion-admin-button.danger{
    border-color:#d9a6a6;
    color:#8a2525;
}

.discussion-admin-move{
    display:flex;
    gap:8px;
    align-items:center;
}

.discussion-admin-select{
    padding:7px 10px;
    border:1px solid #b9cbd6;
    background:#fff;
}

.discussion-admin-empty{
    padding:32px 22px;
    text-align:center;
    color:#586671;
}

@media (max-width:760px){
    .discussion-admin-page{
        padding:24px 14px 42px;
    }

    .discussion-admin-header{
        display:block;
        padding:22px;
    }

    .discussion-admin-header a{
        display:inline-block;
        margin-top:12px;
    }

    .discussion-admin-row-top{
        display:block;
    }

    .discussion-admin-state{
        display:inline-block;
        margin-top:10px;
    }

    .discussion-admin-controls{
        display:block;
    }

    .discussion-admin-controls form{
        margin-bottom:10px;
    }

    .discussion-admin-button{
        width:100%;
    }

    .discussion-admin-move{
        display:grid;
        grid-template-columns:1fr;
    }

    .discussion-admin-select{
        width:100%;
    }
}


/* ===== discussions/forgot-password.php ===== */

.discussion-forgot-page{
    max-width:720px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-forgot-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-forgot-breadcrumb a{
    text-decoration:none;
}

.discussion-forgot-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-forgot-card h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-forgot-intro{
    margin:0 0 24px;
    color:#56646f;
    line-height:1.65;
}

.discussion-forgot-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-forgot-success{
    padding:18px 20px;
    border:1px solid #b8ddc2;
    border-radius:12px;
    background:#eef8f1;
    color:#265b33;
    line-height:1.65;
}

.discussion-forgot-success strong{
    display:block;
    margin-bottom:5px;
}

.discussion-forgot-field{
    margin-bottom:19px;
}

.discussion-forgot-field label{
    display:block;
    margin-bottom:7px;
    font-weight:800;
}

.discussion-forgot-field input{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-forgot-field input:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-forgot-submit{
    display:inline-block;
    padding:12px 19px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-forgot-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    margin-top:22px;
}

.discussion-forgot-links a{
    font-weight:700;
    text-decoration:none;
}

.discussion-forgot-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.discussion-forgot-note{
    margin-top:22px;
    padding:16px 18px;
    background:#f3f8fb;
    border-radius:11px;
    color:#4f5f6a;
    line-height:1.62;
}

@media (max-width:640px){
    .discussion-forgot-page{
        padding:24px 14px 42px;
    }

    .discussion-forgot-card{
        padding:22px;
    }

    .discussion-forgot-submit{
        width:100%;
    }
}


/* ===== discussions/my-discussions.php ===== */

.my-discussions-page{
    max-width:980px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.my-discussions-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.my-discussions-breadcrumb a{
    text-decoration:none;
}

.my-discussions-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
    padding:28px 30px;
    margin-bottom:26px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.my-discussions-hero h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.my-discussions-hero p{
    margin:0;
    color:#56646f;
    line-height:1.65;
}

.my-discussions-start{
    display:inline-block;
    padding:11px 16px;
    border-radius:9px;
    background:#123f5d;
    color:#fff !important;
    text-decoration:none;
    font-weight:800;
    white-space:nowrap;
}

.my-discussions-section{
    margin-top:26px;
}

.my-discussions-section:first-of-type{
    margin-top:0;
}

.my-discussions-section-heading{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:end;
    margin-bottom:12px;
}

.my-discussions-section-heading h2{
    margin:0;
    font-size:1.45rem;
}

.my-discussions-section-heading span{
    color:#66737e;
    font-size:.92rem;
}

.my-discussions-list{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.05);
}

.my-discussions-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:18px 22px;
    border-bottom:1px solid rgba(18,64,93,.1);
}

.my-discussions-row:last-child{
    border-bottom:0;
}

.my-discussions-row h3{
    margin:0 0 6px;
    font-size:1.07rem;
}

.my-discussions-row h3 a{
    color:#2f6b4f;
    text-decoration:none;
}

.my-discussions-row h3 a:hover,
.my-discussions-row h3 a:focus-visible{
    color:#24543e;
    text-decoration:underline;
}

.my-discussions-meta{
    color:#65727d;
    font-size:.9rem;
    line-height:1.55;
}

.my-discussions-meta a{
    color:inherit;
    text-decoration:none;
}

.my-discussions-meta a:hover,
.my-discussions-meta a:focus-visible{
    text-decoration:underline;
}

.my-discussions-stats{
    min-width:100px;
    text-align:right;
    color:#5b6872;
    font-size:.9rem;
}

.my-discussions-stats strong{
    display:block;
    color:#24323c;
    font-size:1rem;
}

.my-discussions-locked{
    display:inline-block;
    margin-left:6px;
    color:#7a4d00;
    font-size:.8rem;
    font-weight:800;
}

.my-discussions-empty{
    padding:28px 22px;
    text-align:center;
    color:#5a6873;
    line-height:1.6;
}

.my-discussions-empty strong{
    display:block;
    margin-bottom:6px;
    color:#24323c;
    font-size:1.06rem;
}

.my-discussions-account-link{
    margin-top:22px;
}

.my-discussions-account-link a{
    font-weight:700;
    text-decoration:none;
}

@media (max-width:720px){
    .my-discussions-page{
        padding:24px 14px 42px;
    }

    .my-discussions-hero{
        grid-template-columns:1fr;
        padding:22px;
    }

    .my-discussions-start{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

    .my-discussions-row{
        grid-template-columns:1fr;
    }

    .my-discussions-stats{
        text-align:left;
    }

    .my-discussions-section-heading{
        display:block;
    }

    .my-discussions-section-heading span{
        display:block;
        margin-top:5px;
    }
}


/* ===== discussions/topic.php ===== */

.discussion-topic-page{
    max-width:980px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-topic-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
    line-height:1.6;
}

.discussion-topic-breadcrumb a{
    text-decoration:none;
}

.discussion-topic-header{
    padding:26px 28px;
    margin-bottom:20px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(18,64,93,.07);
}

.discussion-topic-header h1{
    margin:0 0 10px;
    font-size:clamp(1.9rem,4vw,2.7rem);
    line-height:1.12;
}

.discussion-topic-header p{
    margin:0;
    color:#5e6c77;
}

.discussion-topic-locked{
    display:inline-block;
    margin-top:12px;
    padding:6px 10px;
    border-radius:999px;
    background:#fff3db;
    color:#7a4d00;
    font-size:.88rem;
    font-weight:700;
}

.discussion-topic-notice{
    margin-bottom:18px;
    padding:13px 15px;
    border:1px solid #b8ddc2;
    border-radius:10px;
    background:#eef8f1;
    color:#265b33;
    font-weight:700;
}

.discussion-topic-error{
    margin-bottom:18px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-post{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:22px;
    padding:24px;
    margin-bottom:16px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 22px rgba(18,64,93,.05);
    scroll-margin-top:20px;
}

.discussion-post-author{
    font-size:.93rem;
    color:#5d6b76;
}

.discussion-post-author strong{
    display:block;
    margin-bottom:7px;
    color:#16232c;
    font-size:1rem;
}

.discussion-badge{
    display:inline-block;
    margin-top:6px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef5f8;
    color:#24485d;
    font-size:.78rem;
    font-weight:700;
}

.discussion-admin-badge{
    display:inline-block;
    margin-top:6px;
    padding:4px 8px;
    border-radius:999px;
    background:#eef0f8;
    color:#313b70;
    font-size:.78rem;
    font-weight:700;
}

.discussion-post-body{
    min-width:0;
    line-height:1.72;
    overflow-wrap:anywhere;
}

.discussion-formatting-hint{
    margin-top:6px;
    color:#6b7780;
    font-size:.82rem;
    line-height:1.45;
}

.discussion-post-link{
    color:#2f6b4f !important;
    text-decoration:underline;
    text-underline-offset:2px;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.discussion-post-link:hover,
.discussion-post-link:focus-visible{
    color:#24543e !important;
}

.discussion-post-body p{
    margin-top:0;
}

.discussion-post-footer{
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
    align-items:center;
    margin-top:18px;
    font-size:.85rem;
    color:#76828b;
}

.discussion-post-edit-link{
    font-weight:700;
    text-decoration:none;
}

.discussion-post-delete-form{
    display:inline;
    margin:0;
}

.discussion-post-delete-button{
    padding:0;
    border:0;
    background:none;
    color:#8d2929;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-post-delete-button:hover,
.discussion-post-delete-button:focus-visible{
    text-decoration:underline;
}

.discussion-post-edited{
    font-style:italic;
}

.discussion-edit-form textarea{
    width:100%;
    min-height:165px;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
    line-height:1.6;
    resize:vertical;
}

.discussion-edit-form textarea:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-edit-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:12px;
}

.discussion-edit-save{
    padding:10px 16px;
    border:0;
    border-radius:8px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-edit-cancel{
    text-decoration:none;
}

.discussion-reply-section{
    margin-top:26px;
    padding:26px 28px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 10px 28px rgba(18,64,93,.06);
}

.discussion-reply-section h2{
    margin:0 0 8px;
}

.discussion-reply-section > p{
    margin:0 0 18px;
    line-height:1.6;
    color:#586671;
}

.discussion-reply-error{
    margin-bottom:18px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-reply-field label{
    display:block;
    margin-bottom:7px;
    font-weight:700;
}

.discussion-reply-field textarea{
    width:100%;
    min-height:165px;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
    line-height:1.6;
    resize:vertical;
}

.discussion-reply-field textarea:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-reply-submit{
    margin-top:14px;
    display:inline-block;
    padding:11px 18px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-reply-login{
    display:inline-block;
    padding:11px 16px;
    border-radius:9px;
    background:#123f5d;
    color:#fff !important;
    text-decoration:none;
    font-weight:700;
}

.discussion-reply-register{
    display:inline-block;
    margin-left:8px;
    padding:10px 15px;
    border:1px solid #b9cbd6;
    border-radius:9px;
    background:#fff;
    color:#123f5d !important;
    text-decoration:none;
    font-weight:700;
}

.discussion-reply-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.discussion-topic-pagination{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin:18px 0 24px;
}

.discussion-topic-pagination a{
    display:inline-block;
    padding:9px 13px;
    border:1px solid #b9cbd6;
    border-radius:8px;
    background:#fff;
    color:#2f6b4f !important;
    text-decoration:none;
    font-weight:800;
}

.discussion-topic-pagination a:hover,
.discussion-topic-pagination a:focus-visible{
    color:#24543e !important;
    border-color:#8eabbc;
}

.discussion-topic-pagination-status{
    color:#66737e;
    font-size:.92rem;
}

@media (max-width:720px){
    .discussion-topic-page{
        padding:24px 14px 42px;
    }

    .discussion-topic-header,
    .discussion-reply-section{
        padding:22px;
    }

    .discussion-post{
        grid-template-columns:1fr;
        padding:20px;
    }

    .discussion-post-author{
        padding-bottom:12px;
        border-bottom:1px solid rgba(18,64,93,.11);
    }

    .discussion-reply-submit{
        width:100%;
    }

    .discussion-reply-login,
    .discussion-reply-register{
        display:block;
        width:100%;
        box-sizing:border-box;
        text-align:center;
        margin:8px 0 0;
    }
}


/* ===== discussions/logout.php ===== */

.discussion-auth-page{
    max-width:680px;
    margin:0 auto;
    padding:36px 20px 56px;
}

.discussion-auth-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-auth-card h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,2.7rem);
}

.discussion-auth-card p{
    margin:0 0 22px;
    line-height:1.7;
    color:#46545f;
}

.discussion-auth-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-auth-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.discussion-auth-submit{
    display:inline-block;
    padding:12px 20px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-auth-cancel{
    text-decoration:none;
}

@media (max-width:640px){
    .discussion-auth-page{
        padding:24px 14px 42px;
    }

    .discussion-auth-card{
        padding:22px;
    }

    .discussion-auth-actions{
        display:block;
    }

    .discussion-auth-submit{
        width:100%;
        margin-bottom:14px;
    }
}


/* ===== discussions/register.php ===== */

.discussion-auth-page{
    max-width:760px;
    margin:0 auto;
    padding:36px 20px 56px;
}

.discussion-auth-card{
    padding:30px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-auth-card h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-auth-intro{
    margin:0 0 24px;
    line-height:1.7;
    color:#46545f;
}

.discussion-auth-error{
    margin-bottom:20px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-auth-field{
    margin-bottom:18px;
}

.discussion-auth-field label{
    display:block;
    margin-bottom:7px;
    font-weight:700;
}

.discussion-auth-field input{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-auth-field input:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-auth-help{
    margin-top:6px;
    color:#687681;
    font-size:.9rem;
    line-height:1.5;
}

.discussion-auth-submit{
    display:inline-block;
    padding:12px 20px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.discussion-auth-note{
    margin-top:22px;
    padding:15px 17px;
    background:#f3f8fb;
    border-radius:10px;
    color:#4d5c67;
    line-height:1.6;
}

.discussion-auth-back{
    margin-top:18px;
}

.discussion-auth-back a{
    text-decoration:none;
}

.discussion-auth-hp{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

@media (max-width:640px){
    .discussion-auth-page{
        padding:24px 14px 42px;
    }

    .discussion-auth-card{
        padding:22px;
    }

    .discussion-auth-submit{
        width:100%;
    }
}


/* ===== discussions/rules.php ===== */

.discussion-rules-page{
    max-width:980px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-rules-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-rules-breadcrumb a{
    text-decoration:none;
}

.discussion-rules-hero{
    padding:30px;
    margin-bottom:22px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-rules-hero h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
}

.discussion-rules-hero p{
    max-width:780px;
    margin:0;
    font-size:1.06rem;
    line-height:1.7;
    color:#4f5f6a;
}

.discussion-rules-list{
    display:grid;
    gap:15px;
}

.discussion-rule{
    padding:22px 24px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:15px;
    box-shadow:0 7px 20px rgba(18,64,93,.05);
}

.discussion-rule-number{
    display:inline-flex;
    width:31px;
    height:31px;
    align-items:center;
    justify-content:center;
    margin-right:8px;
    border-radius:50%;
    background:#123f5d;
    color:#fff;
    font-weight:800;
    vertical-align:middle;
}

.discussion-rule h2{
    display:inline;
    margin:0;
    font-size:1.18rem;
    vertical-align:middle;
}

.discussion-rule p{
    margin:12px 0 0;
    line-height:1.68;
    color:#4e5d68;
}

.discussion-rules-note{
    margin-top:22px;
    padding:22px 24px;
    background:#f3f8fb;
    border:1px solid rgba(18,64,93,.12);
    border-radius:15px;
}

.discussion-rules-note h2{
    margin:0 0 9px;
    font-size:1.2rem;
}

.discussion-rules-note p{
    margin:0;
    line-height:1.68;
    color:#4e5d68;
}

.discussion-rules-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.discussion-rules-actions a{
    display:inline-block;
    padding:11px 16px;
    border-radius:9px;
    text-decoration:none;
    font-weight:700;
}

.discussion-rules-primary{
    background:#123f5d;
    color:#fff !important;
}

.discussion-rules-secondary{
    background:#fff;
    border:1px solid #b9cbd6;
    color:#123f5d !important;
}

@media (max-width:640px){
    .discussion-rules-page{
        padding:24px 14px 42px;
    }

    .discussion-rules-hero,
    .discussion-rule,
    .discussion-rules-note{
        padding:21px;
    }

    .discussion-rules-actions a{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }
}


/* ===== discussions/index.php ===== */

.discussions-page{
    max-width:1180px;
    margin:0 auto;
    padding:34px 20px 54px;
}

.discussions-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    margin-bottom:30px;
    padding:30px;
    background:#ffffff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussions-hero h1{
    margin:0 0 12px;
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.04;
}

.discussions-hero p{
    max-width:780px;
    margin:0;
    font-size:1.08rem;
    line-height:1.7;
}

.discussions-status{
    min-width:220px;
    padding:17px 18px;
    background:#f3f8fb;
    border-radius:14px;
    text-align:center;
}

.discussions-status strong{
    display:block;
    margin-bottom:5px;
    font-size:1.05rem;
}

.discussions-account-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px 10px;
    margin-top:12px;
}

.discussions-account-links a{
    display:inline-block;
    padding:8px 11px;
    border-radius:8px;
    text-decoration:none;
    font-size:.9rem;
    font-weight:700;
}

.discussions-account-primary{
    background:#123f5d;
    color:#fff !important;
}

.discussions-account-secondary{
    background:#fff;
    border:1px solid #b9cbd6;
    color:#123f5d !important;
}

.discussions-account-admin{
    background:#eef0f8;
    border:1px solid #c6cbea;
    color:#313b70 !important;
}

.discussions-section{
    margin-top:28px;
}

.discussions-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:18px;
    margin-bottom:14px;
}

.discussions-section-heading h2{
    margin:0;
    font-size:1.55rem;
}

.discussions-section-heading p{
    margin:0;
    color:#52606d;
}

.discussion-category-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.discussion-category-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.discussion-category{
    height:100%;
    box-sizing:border-box;
    padding:24px;
    background:#ffffff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.discussion-category-link:hover .discussion-category,
.discussion-category-link:focus-visible .discussion-category{
    transform:translateY(-2px);
    border-color:rgba(18,64,93,.3);
    box-shadow:0 12px 30px rgba(18,64,93,.1);
}

.discussion-category-label{
    display:inline-flex;
    align-items:center;
    margin:0 0 10px;
    padding:5px 10px;
    border-radius:999px;
    background:linear-gradient(135deg,#0068b7,#00a3e0);
    color:#fff;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    text-transform:uppercase;
    box-shadow:0 4px 10px rgba(0,104,183,.18);
}

.discussion-category h3{
    margin:0 0 10px;
    font-size:1.28rem;
    color:#2f6b4f;
}

.discussion-category p{
    margin:0;
    line-height:1.65;
    color:#43515d;
}

.discussion-category-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-top:16px;
}

.discussion-category-meta{
    display:inline-block;
    padding:6px 10px;
    background:#eef5f8;
    border-radius:999px;
    font-size:.9rem;
    font-weight:700;
}

.discussion-category-enter{
    font-weight:700;
    color:#2f6b4f;
}

.discussion-category-link:hover .discussion-category h3,
.discussion-category-link:focus-visible .discussion-category h3,
.discussion-category-link:hover .discussion-category-enter,
.discussion-category-link:focus-visible .discussion-category-enter{
    color:#24543e;
}

.latest-discussions{
    overflow:hidden;
    background:#ffffff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
}

.latest-discussion-row{
    padding:18px 22px;
    border-bottom:1px solid rgba(18,64,93,.11);
}

.latest-discussion-row:last-child{
    border-bottom:0;
}

.latest-discussion-row strong{
    display:block;
    margin-bottom:5px;
    font-size:1.05rem;
}

.latest-discussion-row strong a{
    color:#2f6b4f;
    text-decoration:none;
}

.latest-discussion-row strong a:hover,
.latest-discussion-row strong a:focus-visible{
    color:#24543e;
    text-decoration:underline;
}

.latest-discussion-meta{
    color:#65727d;
    font-size:.92rem;
}

.latest-discussion-meta a{
    color:inherit;
    text-decoration:none;
}

.latest-discussion-meta a:hover,
.latest-discussion-meta a:focus-visible{
    text-decoration:underline;
}

.discussions-empty{
    padding:28px 22px;
    text-align:center;
}

.discussions-empty strong{
    display:block;
    margin-bottom:7px;
    font-size:1.1rem;
}

@media (max-width:760px){
    .discussions-page{
        padding:24px 14px 42px;
    }

    .discussions-hero{
        grid-template-columns:1fr;
        padding:23px;
    }

    .discussions-status{
        text-align:left;
    }

    .discussions-account-links{
        justify-content:flex-start;
    }

    .discussion-category-grid{
        grid-template-columns:1fr;
    }

    .discussions-section-heading{
        display:block;
    }

    .discussions-section-heading p{
        margin-top:6px;
    }
}


/* ===== discussions/search.php ===== */

.discussion-search-page{
    max-width:980px;
    margin:0 auto;
    padding:34px 20px 56px;
}

.discussion-search-breadcrumb{
    margin-bottom:14px;
    font-size:.95rem;
}

.discussion-search-breadcrumb a{
    text-decoration:none;
}

.discussion-search-card{
    padding:28px 30px;
    margin-bottom:24px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:18px;
    box-shadow:0 12px 34px rgba(18,64,93,.08);
}

.discussion-search-card h1{
    margin:0 0 8px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.discussion-search-intro{
    margin:0 0 22px;
    color:#56646f;
    line-height:1.65;
}

.discussion-search-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
}

.discussion-search-form input{
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.discussion-search-form input:focus{
    outline:2px solid rgba(36,100,140,.2);
    border-color:#3d789b;
}

.discussion-search-form button{
    padding:12px 18px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-search-error{
    margin-top:16px;
    padding:13px 15px;
    border:1px solid #e2aaaa;
    border-radius:10px;
    background:#fff3f3;
    color:#812727;
    font-weight:700;
}

.discussion-search-heading{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:end;
    margin-bottom:12px;
}

.discussion-search-heading h2{
    margin:0;
    font-size:1.45rem;
}

.discussion-search-heading span{
    color:#66737e;
    font-size:.92rem;
}

.discussion-search-results{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.05);
}

.discussion-search-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:18px 22px;
    border-bottom:1px solid rgba(18,64,93,.1);
}

.discussion-search-row:last-child{
    border-bottom:0;
}

.discussion-search-row h3{
    margin:0 0 6px;
    font-size:1.07rem;
}

.discussion-search-row h3 a{
    color:#2f6b4f;
    text-decoration:none;
}

.discussion-search-row h3 a:hover,
.discussion-search-row h3 a:focus-visible{
    color:#24543e;
    text-decoration:underline;
}

.discussion-search-meta{
    color:#65727d;
    font-size:.9rem;
    line-height:1.55;
}

.discussion-search-meta a{
    color:inherit;
    text-decoration:none;
}

.discussion-search-meta a:hover,
.discussion-search-meta a:focus-visible{
    text-decoration:underline;
}

.discussion-search-stats{
    min-width:100px;
    text-align:right;
    color:#5b6872;
    font-size:.9rem;
}

.discussion-search-stats strong{
    display:block;
    color:#24323c;
    font-size:1rem;
}

.discussion-search-locked{
    display:inline-block;
    margin-left:6px;
    color:#7a4d00;
    font-size:.8rem;
    font-weight:800;
}

.discussion-search-empty{
    padding:30px 22px;
    text-align:center;
    color:#5a6873;
    line-height:1.65;
}

.discussion-search-empty strong{
    display:block;
    margin-bottom:6px;
    color:#24323c;
    font-size:1.08rem;
}

.discussion-search-pagination{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-top:18px;
}

.discussion-search-pagination a{
    display:inline-block;
    padding:9px 13px;
    border:1px solid #b9cbd6;
    border-radius:8px;
    background:#fff;
    color:#2f6b4f !important;
    text-decoration:none;
    font-weight:800;
}

.discussion-search-pagination a:hover,
.discussion-search-pagination a:focus-visible{
    color:#24543e !important;
    border-color:#8eabbc;
}

.discussion-search-pagination-status{
    color:#66737e;
    font-size:.92rem;
}

@media (max-width:720px){
    .discussion-search-page{
        padding:24px 14px 42px;
    }

    .discussion-search-card{
        padding:22px;
    }

    .discussion-search-form{
        grid-template-columns:1fr;
    }

    .discussion-search-form button{
        width:100%;
    }

    .discussion-search-row{
        grid-template-columns:1fr;
    }

    .discussion-search-stats{
        text-align:left;
    }

    .discussion-search-heading{
        display:block;
    }

    .discussion-search-heading span{
        display:block;
        margin-top:5px;
    }
}


/* ===== discussions/admin/users.php ===== */

.discussion-users-page{
    max-width:1180px;
    margin:0 auto;
    padding:30px 20px 60px;
}

.discussion-users-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    margin-bottom:16px;
    padding:22px 24px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(18,64,93,.06);
}

.discussion-users-top h1{
    margin:0 0 5px;
    font-size:clamp(1.8rem,3vw,2.35rem);
}

.discussion-users-top p{
    margin:0;
    color:#5d6973;
    line-height:1.5;
}

.discussion-users-back{
    flex:0 0 auto;
    text-decoration:none;
    font-weight:800;
}

.discussion-users-status{
    margin-bottom:14px;
    padding:12px 14px;
    background:#eef8f1;
    border:1px solid #b8ddc2;
    border-radius:10px;
    color:#265b33;
    font-weight:700;
}

.discussion-users-toolbar{
    margin-bottom:14px;
    padding:14px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:14px;
    box-shadow:0 6px 18px rgba(18,64,93,.045);
}

.discussion-users-search{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:10px;
    margin-bottom:11px;
}

.discussion-users-search input{
    width:100%;
    padding:10px 12px;
    border:1px solid #b8c7d0;
    border-radius:9px;
    font:inherit;
    background:#fff;
}

.discussion-users-search button{
    padding:10px 16px;
    border:0;
    border-radius:9px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-users-filter-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}

.discussion-users-filter{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 11px;
    border:1px solid #c8d5dc;
    border-radius:999px;
    color:#315269;
    background:#f8fbfc;
    font-size:.86rem;
    font-weight:800;
    text-decoration:none;
}

.discussion-users-filter.active{
    background:#123f5d;
    border-color:#123f5d;
    color:#fff;
}

.discussion-users-count{
    margin-left:auto;
    color:#64727c;
    font-size:.88rem;
    font-weight:800;
}

.discussion-user-list{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:14px;
    box-shadow:0 7px 22px rgba(18,64,93,.05);
}

.discussion-user-columns,
.discussion-user-summary{
    display:grid;
    grid-template-columns:minmax(140px,1.15fr) minmax(210px,1.7fr) 105px minmax(150px,1.1fr) 105px 82px;
    gap:14px;
    align-items:center;
}

.discussion-user-columns{
    padding:10px 14px;
    background:#eef4f7;
    color:#52636f;
    border-bottom:1px solid rgba(18,64,93,.12);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
}

.discussion-user-item{
    border-bottom:1px solid rgba(18,64,93,.10);
}

.discussion-user-item:last-child{
    border-bottom:0;
}

.discussion-user-summary{
    padding:11px 14px;
    cursor:pointer;
    list-style:none;
}

.discussion-user-summary::-webkit-details-marker{
    display:none;
}

.discussion-user-summary:hover{
    background:#f8fbfc;
}

.discussion-user-name{
    min-width:0;
    font-weight:900;
    color:#173f5b;
}

.discussion-user-email{
    min-width:0;
    overflow:hidden;
    color:#65727d;
    font-size:.88rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.discussion-user-status,
.discussion-user-type{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    max-width:100%;
    padding:4px 8px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
}

.discussion-user-status.active{
    background:#eef8f1;
    color:#265b33;
}

.discussion-user-status.suspended{
    background:#fff0f0;
    color:#8d2929;
}

.discussion-user-type{
    background:#eef5f8;
    color:#24485d;
}

.discussion-user-type.admin{
    background:#eef0f8;
    color:#313b70;
}

.discussion-user-joined{
    color:#65727d;
    font-size:.82rem;
    white-space:nowrap;
}

.discussion-user-manage{
    justify-self:end;
    color:#126a92;
    font-size:.84rem;
    font-weight:900;
}

.discussion-user-manage::after{
    content:" +";
}

.discussion-user-item[open] .discussion-user-manage::after{
    content:" −";
}

.discussion-user-panel{
    padding:16px 14px 18px;
    background:#f8fbfc;
    border-top:1px solid rgba(18,64,93,.10);
}

.discussion-user-panel-title{
    margin:0 0 12px;
    color:#173f5b;
    font-size:.95rem;
    font-weight:900;
}

.discussion-user-form{
    display:grid;
    grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr) auto;
    gap:11px;
    align-items:end;
}

.discussion-user-field label{
    display:block;
    margin-bottom:5px;
    font-size:.8rem;
    font-weight:800;
}

.discussion-user-field select,
.discussion-user-field input{
    width:100%;
    box-sizing:border-box;
    padding:9px 10px;
    border:1px solid #b8c7d0;
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.discussion-user-help{
    margin-top:5px;
    color:#707c85;
    font-size:.78rem;
    line-height:1.4;
}

.discussion-user-save{
    padding:10px 15px;
    border:0;
    border-radius:8px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-user-access{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid rgba(18,64,93,.11);
}

.discussion-user-access-copy{
    color:#65727d;
    font-size:.85rem;
    line-height:1.45;
}

.discussion-user-access-form{
    margin:0;
}

.discussion-user-access-button{
    padding:8px 12px;
    border:0;
    border-radius:8px;
    font:inherit;
    font-size:.86rem;
    font-weight:800;
    cursor:pointer;
}

.discussion-user-access-button.suspend{
    background:#8d2929;
    color:#fff;
}

.discussion-user-access-button.reactivate{
    background:#2f6b4f;
    color:#fff;
}

.discussion-user-current-account{
    display:inline-block;
    padding:7px 10px;
    border-radius:8px;
    background:#eef1f3;
    color:#5d6973;
    font-size:.82rem;
    font-weight:800;
}

.discussion-users-empty{
    padding:30px 20px;
    color:#65727d;
    text-align:center;
}

.discussion-users-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:14px;
}

.discussion-users-pagination-info{
    color:#65727d;
    font-size:.86rem;
    font-weight:700;
}

.discussion-users-pagination-links{
    display:flex;
    gap:7px;
}

.discussion-users-pagination a,
.discussion-users-pagination span{
    display:inline-flex;
    min-width:38px;
    min-height:36px;
    align-items:center;
    justify-content:center;
    padding:7px 11px;
    border:1px solid #c8d5dc;
    border-radius:8px;
    background:#fff;
    color:#315269;
    font-size:.86rem;
    font-weight:800;
    text-decoration:none;
}

.discussion-users-pagination span{
    opacity:.48;
}

@media (max-width:900px){
    .discussion-user-columns{
        display:none;
    }

    .discussion-user-summary{
        grid-template-columns:minmax(130px,1fr) minmax(170px,1.4fr) 92px 72px;
    }

    .discussion-user-summary .discussion-user-type,
    .discussion-user-summary .discussion-user-joined{
        display:none;
    }
}

@media (max-width:650px){
    .discussion-users-page{
        padding:22px 12px 44px;
    }

    .discussion-users-top{
        display:block;
        padding:19px;
    }

    .discussion-users-back{
        display:inline-block;
        margin-top:12px;
    }

    .discussion-users-search{
        grid-template-columns:1fr;
    }

    .discussion-users-search button{
        width:100%;
    }

    .discussion-users-count{
        width:100%;
        margin:4px 0 0;
    }

    .discussion-user-summary{
        grid-template-columns:1fr auto;
        gap:6px 12px;
        padding:11px 12px;
    }

    .discussion-user-email{
        grid-column:1 / -1;
        grid-row:2;
        white-space:normal;
        overflow-wrap:anywhere;
    }

    .discussion-user-summary .discussion-user-status{
        grid-column:2;
        grid-row:1;
    }

    .discussion-user-summary .discussion-user-manage{
        grid-column:2;
        grid-row:2;
    }

    .discussion-user-form{
        grid-template-columns:1fr;
    }

    .discussion-user-save{
        width:100%;
    }

    .discussion-user-access{
        display:block;
    }

    .discussion-user-access-form,
    .discussion-user-current-account{
        margin-top:10px;
    }

    .discussion-user-access-button{
        width:100%;
    }

    .discussion-users-pagination{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ===== discussions/admin/index.php ===== */

.discussion-admin-page{
    max-width:1200px;
    margin:0 auto;
    padding:28px 20px 60px;
}

.discussion-admin-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    margin-bottom:14px;
    padding:20px 22px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:15px;
    box-shadow:0 7px 22px rgba(18,64,93,.05);
}

.discussion-admin-top h1{
    margin:0 0 4px;
    font-size:clamp(1.8rem,3vw,2.35rem);
}

.discussion-admin-top p{
    margin:0;
    color:#5d6973;
    line-height:1.45;
}

.discussion-admin-top-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}

.discussion-admin-top-actions a{
    display:inline-flex;
    min-height:38px;
    align-items:center;
    padding:8px 12px;
    border-radius:8px;
    text-decoration:none;
    font-size:.88rem;
    font-weight:800;
}

.discussion-admin-members-link{
    background:#123f5d;
    color:#fff !important;
}

.discussion-admin-back{
    background:#fff;
    border:1px solid #b9cbd6;
    color:#123f5d !important;
}

.discussion-admin-status{
    margin-bottom:13px;
    padding:11px 13px;
    background:#eef8f1;
    border:1px solid #b8ddc2;
    border-radius:9px;
    color:#265b33;
    font-weight:700;
}

.discussion-admin-toolbar{
    margin-bottom:13px;
    padding:13px;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:13px;
    box-shadow:0 5px 16px rgba(18,64,93,.04);
}

.discussion-admin-search-row{
    display:grid;
    grid-template-columns:minmax(240px,1fr) minmax(185px,.42fr) auto;
    gap:9px;
    align-items:center;
}

.discussion-admin-search-row input,
.discussion-admin-search-row select{
    width:100%;
    padding:9px 10px;
    border:1px solid #b8c7d0;
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.discussion-admin-search-row button{
    padding:9px 14px;
    border:0;
    border-radius:8px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.discussion-admin-filter-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:10px;
}

.discussion-admin-filter{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    padding:6px 10px;
    border:1px solid #c8d5dc;
    border-radius:999px;
    background:#f8fbfc;
    color:#315269;
    font-size:.83rem;
    font-weight:800;
    text-decoration:none;
}

.discussion-admin-filter.active{
    background:#123f5d;
    border-color:#123f5d;
    color:#fff;
}

.discussion-admin-count{
    margin-left:auto;
    color:#65727d;
    font-size:.84rem;
    font-weight:800;
}

.discussion-admin-summary-stats{
    margin-top:8px;
    color:#65727d;
    font-size:.82rem;
}

.discussion-admin-list{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(18,64,93,.14);
    border-radius:13px;
    box-shadow:0 6px 20px rgba(18,64,93,.045);
}

.discussion-admin-columns,
.discussion-admin-summary{
    display:grid;
    grid-template-columns:minmax(250px,2.3fr) minmax(150px,1fr) minmax(120px,.8fr) 82px 102px 78px;
    gap:12px;
    align-items:center;
}

.discussion-admin-columns{
    padding:9px 13px;
    background:#eef4f7;
    color:#52636f;
    border-bottom:1px solid rgba(18,64,93,.12);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
}

.discussion-admin-item{
    border-bottom:1px solid rgba(18,64,93,.10);
}

.discussion-admin-item:last-child{
    border-bottom:0;
}

.discussion-admin-summary{
    padding:10px 13px;
    cursor:pointer;
    list-style:none;
}

.discussion-admin-summary::-webkit-details-marker{
    display:none;
}

.discussion-admin-summary:hover{
    background:#f8fbfc;
}

.discussion-admin-title{
    min-width:0;
}

.discussion-admin-title a{
    display:block;
    overflow:hidden;
    color:#173f5b;
    font-size:.94rem;
    font-weight:900;
    text-decoration:none;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.discussion-admin-title a:hover{
    text-decoration:underline;
}

.discussion-admin-category,
.discussion-admin-starter,
.discussion-admin-replies{
    min-width:0;
    overflow:hidden;
    color:#65727d;
    font-size:.84rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.discussion-admin-replies{
    text-align:center;
}

.discussion-admin-state-group{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
}

.discussion-admin-state{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:4px 7px;
    border-radius:999px;
    background:#eef5f8;
    color:#315269;
    font-size:.74rem;
    font-weight:800;
    white-space:nowrap;
}

.discussion-admin-state.locked{
    background:#fff3db;
    color:#7a4d00;
}

.discussion-admin-state.pinned{
    background:#eef8f1;
    color:#2f6b4f;
}

.discussion-admin-manage{
    justify-self:end;
    color:#126a92;
    font-size:.82rem;
    font-weight:900;
}

.discussion-admin-manage::after{
    content:" +";
}

.discussion-admin-item[open] .discussion-admin-manage::after{
    content:" −";
}

.discussion-admin-panel{
    padding:14px 13px 16px;
    background:#f8fbfc;
    border-top:1px solid rgba(18,64,93,.10);
}

.discussion-admin-panel-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:11px;
}

.discussion-admin-panel-title{
    color:#173f5b;
    font-size:.91rem;
    font-weight:900;
}

.discussion-admin-view-link{
    font-size:.82rem;
    font-weight:800;
    text-decoration:none;
}

.discussion-admin-controls{
    display:grid;
    grid-template-columns:auto auto minmax(260px,1fr) auto;
    gap:10px;
    align-items:end;
}

.discussion-admin-form{
    margin:0;
}

.discussion-admin-form label{
    display:block;
    margin-bottom:5px;
    font-size:.78rem;
    font-weight:800;
}

.discussion-admin-form select{
    width:100%;
    padding:9px 10px;
    border:1px solid #b8c7d0;
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.discussion-admin-button{
    min-height:38px;
    padding:9px 12px;
    border:0;
    border-radius:8px;
    background:#123f5d;
    color:#fff;
    font:inherit;
    font-size:.84rem;
    font-weight:800;
    cursor:pointer;
}

.discussion-admin-button.secondary{
    background:#5d6973;
}

.discussion-admin-button.danger{
    background:#8d2929;
}

.discussion-admin-move-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}

.discussion-admin-empty{
    padding:28px 18px;
    color:#65727d;
    text-align:center;
}

.discussion-admin-pagination{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:13px;
}

.discussion-admin-pagination-info{
    color:#65727d;
    font-size:.84rem;
    font-weight:700;
}

.discussion-admin-pagination-links{
    display:flex;
    gap:7px;
}

.discussion-admin-pagination a,
.discussion-admin-pagination span{
    display:inline-flex;
    min-width:38px;
    min-height:35px;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border:1px solid #c8d5dc;
    border-radius:8px;
    background:#fff;
    color:#315269;
    font-size:.84rem;
    font-weight:800;
    text-decoration:none;
}

.discussion-admin-pagination span{
    opacity:.48;
}

@media (max-width:950px){
    .discussion-admin-columns{
        display:none;
    }

    .discussion-admin-summary{
        grid-template-columns:minmax(220px,1.8fr) minmax(130px,1fr) 90px 75px;
    }

    .discussion-admin-summary .discussion-admin-starter,
    .discussion-admin-summary .discussion-admin-replies{
        display:none;
    }
}

@media (max-width:720px){
    .discussion-admin-page{
        padding:22px 12px 44px;
    }

    .discussion-admin-top{
        display:block;
        padding:18px;
    }

    .discussion-admin-top-actions{
        justify-content:flex-start;
        margin-top:12px;
    }

    .discussion-admin-search-row{
        grid-template-columns:1fr;
    }

    .discussion-admin-search-row button{
        width:100%;
    }

    .discussion-admin-count{
        width:100%;
        margin:3px 0 0;
    }

    .discussion-admin-summary{
        grid-template-columns:1fr auto;
        gap:6px 10px;
        padding:10px 11px;
    }

    .discussion-admin-title{
        grid-column:1 / -1;
    }

    .discussion-admin-title a{
        white-space:normal;
    }

    .discussion-admin-category{
        grid-column:1;
        grid-row:2;
    }

    .discussion-admin-state-group{
        grid-column:2;
        grid-row:2;
        justify-content:flex-end;
    }

    .discussion-admin-manage{
        grid-column:2;
        grid-row:3;
    }

    .discussion-admin-controls{
        grid-template-columns:1fr;
    }

    .discussion-admin-button{
        width:100%;
    }

    .discussion-admin-panel-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .discussion-admin-pagination{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ===== includes/discussion-nav.php ===== */

.fps-discussion-nav-wrap{
    max-width:1180px;
    margin:16px auto 0;
    padding:0 20px;
}

.fps-discussion-nav{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;
    padding:8px 10px;
    background:#fff;
    border:1px solid rgba(18,64,93,.13);
    border-radius:11px;
    box-shadow:0 5px 16px rgba(18,64,93,.04);
}

.fps-discussion-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:7px;
    color:#405b6b !important;
    text-decoration:none;
    font-size:.81rem;
    font-weight:750;
    line-height:1.15;
    white-space:nowrap;
}

.fps-discussion-nav a:hover,
.fps-discussion-nav a:focus-visible{
    background:#f3f7f9;
    border-color:#d6e1e7;
    color:#123f5d !important;
    outline:none;
}

.fps-discussion-nav a[aria-current="page"]{
    background:#123f5d;
    border-color:#123f5d;
    color:#fff !important;
}

.fps-discussion-nav-account{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px;
    margin-left:auto;
}

.fps-discussion-nav-account::before{
    content:"";
    width:1px;
    height:20px;
    margin:0 3px;
    background:#dce5ea;
}

.fps-discussion-nav .fps-discussion-nav-admin{
    color:#313b70 !important;
}

.fps-discussion-nav .fps-discussion-nav-signup{
    background:#123f5d;
    border-color:#123f5d;
    color:#fff !important;
}

@media (max-width:900px){
    .fps-discussion-nav-account{
        margin-left:0;
    }

    .fps-discussion-nav-account::before{
        display:none;
    }
}

@media (max-width:760px){
    .fps-discussion-nav-wrap{
        margin-top:13px;
        padding:0 14px;
    }

    .fps-discussion-nav{
        gap:4px;
        padding:7px;
        border-radius:10px;
    }

    .fps-discussion-nav a{
        min-height:29px;
        padding:5px 7px;
        font-size:.78rem;
    }

    .fps-discussion-nav-account{
        display:contents;
    }
}


/* =========================================================
   DISCUSSION SECTION VISUAL POLISH
   Gives major boxed areas clearer separation throughout
   /discussions/. Individual category discussion rows are
   intentionally handled separately in category.php.
   ========================================================= */

.fps-discussion-nav,
.discussions-hero,
.discussions-status,
.discussion-category,
.latest-discussions,
.discussion-category-hero,
.discussion-category-account,
.discussion-topic-header,
.discussion-post,
.discussion-reply-section,
.discussion-start-card,
.discussion-start-note,
.discussion-auth-card,
.discussion-auth-note,
.discussion-account-card,
.discussion-account-note,
.discussion-forgot-card,
.discussion-forgot-note,
.discussion-search-card,
.discussion-search-results,
.my-discussions-hero,
.my-discussions-list,
.discussion-pro-hero,
.discussion-pro-summary,
.discussion-pro-card,
.discussion-pro-guideline,
.discussion-pro-example,
.discussion-rules-hero,
.discussion-rule,
.discussion-rules-note {
    border:2px solid rgba(18,64,93,.28) !important;
}

/* Slightly softer border for inset/helper boxes. */
.discussions-status,
.discussion-category-account,
.discussion-start-note,
.discussion-auth-note,
.discussion-account-note,
.discussion-forgot-note,
.discussion-pro-summary,
.discussion-pro-example {
    border-color:rgba(18,64,93,.22) !important;
}

/* Preserve stronger semantic colors on professional examples. */
.discussion-pro-example-good {
    border-color:#a9cfb9 !important;
}

.discussion-pro-example-no {
    border-color:#e3b99d !important;
}


/* FPS 2 login visibility hardening */
.discussion-login-form{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative;
}
.discussion-login-form .discussion-auth-field{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}
.discussion-login-form .discussion-auth-field label{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#1f2d36;
}
.discussion-login-form .discussion-auth-field input{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:46px;
}
