/*
Theme Name: BrickMS Portal
Description: BrickMS public portal, child of GeneratePress.
Author: BrickMS
Version: 0.1.2
Template: generatepress
Text Domain: brickms-portal
*/

/* Projection of semantic values from app/public/assets/design-system.css. */
:root {
    --portal-canvas: #f8fafc; --portal-surface: #fff; --portal-text: #0f172a;
    --portal-muted: #475569; --portal-border: #cbd5e1;
    --portal-accent: #047857; --portal-accent-hover: #065f46;
    --portal-focus: #0369a1; --portal-radius: .875rem;
    --portal-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body { background: var(--portal-canvas); color: var(--portal-text); font-family: var(--portal-font); }
a { color: var(--portal-accent); }
a:hover { color: var(--portal-accent-hover); }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid var(--portal-focus); outline-offset: 3px; }
.site-header { background: var(--portal-surface); border-bottom: 1px solid var(--portal-border); }
.inside-header { min-height: 5.25rem; }
.site-logo .header-image { width: 9.5rem; height: auto; max-width: 100%; }
.main-navigation .main-nav ul li a { color: var(--portal-text); font-weight: 600; }
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a { color: var(--portal-accent-hover); background: #ecfdf5; }
.site-footer { border-top: 1px solid var(--portal-border); background: var(--portal-surface); }
.site-footer .copyright-bar { line-height: 1.7; }
.site-footer a { margin-inline-start: .5rem; }
.bms-portal { max-width: 72rem; padding: clamp(1.25rem, 3vw, 3rem); margin: 0 auto; }
.bms-portal :where(h1, h2, h3) { color: var(--portal-text); line-height: 1.2; letter-spacing: -.025em; }
.bms-portal h1 { font-size: clamp(2rem, 4vw, 3.5rem); max-width: 18ch; margin-bottom: 1rem; }
.bms-portal h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); margin-bottom: 1rem; }
.bms-portal p { color: var(--portal-muted); line-height: 1.65; }
.bms-portal__hero, .bms-portal__card, .bms-portal__bridge { background: var(--portal-surface); border: 1px solid var(--portal-border); border-radius: var(--portal-radius); box-shadow: 0 1px 2px rgb(15 23 42 / 9%); }
.bms-portal__hero { padding: clamp(1.5rem, 4vw, 3.5rem); }
.bms-portal__eyebrow { color: var(--portal-accent-hover) !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: .8rem; }
.bms-portal__intro { max-width: 65ch; font-size: 1.125rem; }
.bms-portal__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.bms-portal__button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .7rem 1.2rem; border: 1px solid var(--portal-accent); border-radius: .625rem; color: #fff; background: var(--portal-accent); font-weight: 700; text-decoration: none; }
.bms-portal__button:hover { color: #fff; background: var(--portal-accent-hover); }
.bms-portal__button--secondary { color: var(--portal-text); background: var(--portal-surface); border-color: #94a3b8; }
.bms-portal__button--secondary:hover { color: var(--portal-text); background: #f1f5f9; }
.bms-portal__section { margin-top: clamp(2rem, 4vw, 3.5rem); }
.bms-portal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bms-portal__card { padding: 1.5rem; }
.bms-portal__card h3 { margin: .5rem 0; font-size: 1.2rem; }
.bms-portal__card p { margin: .5rem 0 0; }
.bms-portal__badge { color: #166534; background: #f0fdf4; border: 1px solid #86efac; border-radius: 999px; font-size: .75rem; font-weight: 700; padding: .2rem .55rem; }
.bms-portal__bridge { padding: clamp(1.5rem, 3vw, 2rem); }
.bms-portal__bridge p { max-width: 65ch; }
@media (max-width: 48rem) {
    .inside-header { min-height: 4.5rem; }
    .site-logo .header-image { width: 8rem; }
    .bms-portal__grid { grid-template-columns: 1fr; }
    .bms-portal__actions { flex-direction: column; align-items: stretch; }
}
@media (forced-colors: active) {
    .bms-portal__button { border: 2px solid ButtonText; }
    .bms-portal__card, .bms-portal__hero, .bms-portal__bridge { border: 1px solid CanvasText; }
}

.bms-portal__news { overflow-wrap: anywhere; }
.bms-portal__news .bms-portal__date { margin-top: 0; font-size: .875rem; }
.bms-portal__news h3 a { text-decoration-thickness: .08em; text-underline-offset: .15em; }
