/* The Node canonical brand assets and shared logo sizing. */
.node-brand,
.node-brand-mark,
.node-brand-wordmark {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.node-brand img,
.node-brand-mark img,
.node-brand-wordmark img {
    display: block;
    max-width: 100%;
    height: auto;
}
.node-brand-mark img { width: 38px; height: 38px; object-fit: contain; }
.node-brand-wordmark img { width: clamp(150px, 17vw, 220px); max-height: 48px; object-fit: contain; }
.navbar-brand.node-brand { gap: .65rem; text-decoration: none; }
.navbar-brand.node-brand .node-brand-mark img { width: 38px; height: 38px; }
.navbar-brand.node-brand .node-brand-name {
    font-weight: 800;
    letter-spacing: -.02em;
    color: inherit;
    white-space: nowrap;
}
.footer-logo.node-brand-wordmark img { width: min(230px, 100%); max-height: 72px; }
.admin-logo.node-brand { gap: .65rem; }
.admin-logo.node-brand img { width: 38px; height: 38px; object-fit: contain; }
.auth-brand-logo { display:flex; align-items:center; gap:.7rem; text-decoration:none; color:inherit; }
.auth-brand-logo img { width:42px; height:42px; object-fit:contain; }
.node-section-brand { display:inline-flex; align-items:center; gap:.7rem; }
.node-section-brand img { width:42px; height:42px; object-fit:contain; }
.node-logo-horizontal { width:min(280px, 75vw); height:auto; display:block; }
.node-logo-stacked { width:min(250px, 70vw); height:auto; display:block; }
@media (max-width: 560px) {
    .navbar-brand.node-brand .node-brand-name { display:none; }
    .navbar-brand.node-brand .node-brand-mark img { width:36px; height:36px; }
}

/* Canonical primary-navigation lockup: official horizontal mark on desktop, icon on compact screens. */
.node-navigation-brand { flex: 0 0 auto; max-width: 190px; }
.node-navigation-wordmark { display:block; width:170px; max-height:50px; object-fit:contain; }
.node-navigation-icon { display:none !important; width:38px; height:38px; object-fit:contain; }
@media (max-width: 760px) {
    .node-navigation-brand { max-width:44px; }
    .node-navigation-wordmark { display:none !important; }
    .node-navigation-icon { display:block !important; }
}

/* Public-form anti-bot honeypot: present in markup, never visible to visitors. */
.node-hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Canonical brand lockups for standalone landing/auth/admin shells. */
.landing-brand-wordmark img { width: clamp(150px, 16vw, 205px); max-height: 58px; object-fit: contain; }
.logo-icon.node-logo-icon {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.logo-icon.node-logo-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.admin-logo.node-brand-wordmark img { width: 148px; max-height: 48px; object-fit: contain; }
.node-standalone-footer {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 24px 0 32px;
    border-top: 1px solid rgba(148,163,184,.18);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #94a3b8;
    font-size: 13px;
}
.node-standalone-footer-brand,
.node-standalone-footer nav { display:inline-flex; align-items:center; gap:12px; }
.node-standalone-footer-brand { color:#e2e8f0; text-decoration:none; font-weight:800; }
.node-standalone-footer-brand img { display:block; width:30px; height:30px; object-fit:contain; }
.node-standalone-footer nav a { color:#94a3b8; text-decoration:none; font-weight:700; }
.node-standalone-footer nav a:hover { color:#fff; }
@media (max-width: 720px) {
    .landing-brand-wordmark img { width: 148px; }
    .node-standalone-footer { align-items:flex-start; flex-direction:column; }
    .admin-logo.node-brand-wordmark img { width: 132px; }
}
