/* decodethematrix.org static site — design tokens from tikva theme + site overrides */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    color: #606d6e;
    margin: 0;
    background: #fff;
}

h1, h2, h3, h4, h5, h6 { color: #454B4D; line-height: 1.3; }

a { color: #1F8CD6; text-decoration: none; }
a:hover { color: #175E91; }

/* Layout: full-width, no caps (site override) */
.wrapper { margin: 0 auto; width: 100%; }
.padding { padding: 1rem 1.5rem 3rem; }

/* Header */
.header { background-color: #1F8DD6; color: #eee; }
.header .padding { padding: 1rem 0; }
.header a { color: #fff; }
.header .logo { font-size: 1.7rem; text-transform: uppercase; font-weight: 700; letter-spacing: 1px; }
.header .logo a:hover { color: #fff; }
.header .wrapper { padding: 1rem 1.5rem 0.5rem; }

/* Nav */
.main-nav ul { text-align: center; letter-spacing: -1em; margin: 0; padding: 0; }
.main-nav ul li { display: inline-block; letter-spacing: normal; }
.main-nav ul li a {
    position: relative;
    display: block;
    line-height: 45px;
    color: #fff;
    padding: 0 20px;
    white-space: nowrap;
    font-size: 1.5rem;          /* site override: two levels bigger */
}
.main-nav ul li a:hover { background-color: #175E91; color: #fff; }
.main-nav ul li a.selected { background-color: #fff; color: #175E91; }

/* Homepage title — site override: 1.25rem */
.blog-header h1 { font-size: 1.25rem; margin-top: 1.5rem; }

/* Blog listing: full-width single-column cards (no empty right half) */
.articles { margin-top: 2rem; }
.card {
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    width: 100%;               /* full-width cards */
    background: #fff;
}
.card h2 { font-size: 1.5rem; margin: 0 0 0.25rem; }
.card h2 a { color: #454B4D; }
.card h2 a:hover { color: #1F8CD6; }
.card .meta, .blog-item .meta { color: #9aa5a5; font-size: 0.9rem; margin: 0 0 0.75rem; }
.read-more { font-weight: 600; }

/* Article page */
.blog-item h1 { font-size: 2rem; margin-top: 1.5rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }

.blog-content img {
    max-width: calc(100% - 1cm);   /* site override */
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Privacy page: all headings same size */
body.privacy-page h2, body.privacy-page h3, body.privacy-page h4 { font-size: 1.5rem; }

blockquote {
    border-left: 10px solid #eee;
    margin: 0;
    padding: 0 2rem;
    color: #788586;
}

code { background: #F0F0F0; padding: 0.15rem 0.4rem; border-radius: 2px; font-size: 0.9em; }
hr { border: 0; border-top: 1px solid #eee; margin: 2rem 0; }

/* Footer */
.footer { background-color: #eee; margin-top: 3rem; }
.footer .wrapper { padding: 1.5rem; }
.footer p { margin: 0.25rem 0; }
.small { font-size: 0.85rem; }

/* Responsive */
@media (max-width: 768px) {
    .main-nav ul li a { font-size: 1.1rem; padding: 0 12px; line-height: 40px; }
    .header .logo { font-size: 1.3rem; }
    .padding { padding: 1rem 1rem 2rem; }
}
