
/* Portal routing uses real anchors with the ORIGINAL button styles. */
a.brand-btn,a.nav-page-tab,a.btn-secondary,a.btn-amber{text-decoration:none;}
a.nav-page-tab{display:inline-flex;align-items:center;justify-content:center}
a.brand-btn{color:inherit}
.page-view[hidden]{display:none!important}
.portal-state{border:1px solid rgba(22,231,145,.23);border-radius:14px;padding:24px;background:rgba(8,22,28,.84);color:#cfe3de}
.portal-form{display:grid;gap:12px;max-width:440px}
.portal-form label{display:grid;gap:7px;color:var(--muted);font-size:12px}
.portal-form input{width:100%;padding:12px 14px;border-radius:9px;background:#091a23;border:1px solid #355550;color:#fff;font:inherit}
.portal-form input:focus{outline:2px solid var(--green);outline-offset:1px}
.portal-form button{justify-self:start}
.portal-news-grid{min-height:120px}
.portal-container{min-height:60vh}
.portal-custom-content{min-height:480px;position:relative}
.portal-status{color:var(--muted);font-size:13px;line-height:1.65}
.portal-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:24px}
.portal-profile-grid article{padding:24px;border:1px solid #24453e;border-radius:15px;background:#0e2026}
.portal-profile-grid strong{display:block;font-size:19px;margin:8px 0;color:#fff}
.portal-loading{min-height:100px;display:flex;align-items:center;color:var(--muted)}
.portal-news-card{display:flex;flex-direction:column;text-align:left;cursor:pointer;width:100%;padding:0;border:1px solid #284137;border-radius:15px;overflow:hidden;background:#0b1b25;color:inherit}
.portal-news-card:focus-visible{outline:2px solid var(--green)}
.portal-news-card img{width:100%;height:180px;object-fit:cover}
.portal-news-card .web-news-body{padding:18px}
.portal-news-card .web-news-body small{color:var(--green)}
.portal-news-card .web-news-body h3{margin:8px 0;color:#fff}
.portal-news-card .web-news-body p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.portal-more{margin-top:14px}
@media(max-width:740px){.portal-form{max-width:100%}.portal-profile-grid{grid-template-columns:1fr}}


/* v0.7.4: visitor landing vs authenticated portal. No colors or layout redesign. */
html:not([data-dc-auth="member"]) .nav-links,
html:not([data-dc-auth="member"]) .mobile-menu-toggle { display:none!important; }
html[data-dc-auth="member"] .nav-links [data-page-tab="home"],
html[data-dc-auth="member"] .nav-links a[href="/"],
html[data-dc-auth="member"] .site-footer a[href="/"] {display:none!important;}
html[data-dc-auth="member"] .site-footer [data-page-tab="home"] {display:none!important;}
html:not([data-dc-auth="member"]) .site-footer [data-page-tab="cabinet"],
html:not([data-dc-auth="member"]) .site-footer [data-page-tab="news"],
html:not([data-dc-auth="member"]) .site-footer [data-page-tab="shop"],
html:not([data-dc-auth="member"]) .site-footer a[href="/news.html"],
html:not([data-dc-auth="member"]) .site-footer a[href="/cabinet.html"],
html:not([data-dc-auth="member"]) .site-footer a[href="/shop.html"],
html:not([data-dc-auth="member"]) .site-footer a[href^="/p/"] {display:none!important;}
html:not([data-dc-auth="member"]) body[data-portal-page="news"] .portal-container,
html:not([data-dc-auth="member"]) body[data-portal-page="shop"] .portal-container,
html:not([data-dc-auth="member"]) body[data-portal-page="custom"] .portal-container {visibility:hidden;}
