:root{
    --bg:#f7f9fc;
    --surface:#ffffff;
    --border:#e7ebf0;

    --text:#1d2433;
    --muted:#64748b;

    --primary:#2563eb;
    --primary-dark:#1d4ed8;

    --shadow:
        0 10px 30px rgba(15,23,42,.06);
}

body{
    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:var(--bg);
    color:var(--text);

    line-height:1.75;
    font-size:18px;
}

h1,h2,h3,h4{
    line-height:1.2;
    font-weight:700;
    letter-spacing:-0.03em;
}

h1{
    font-size:3rem;
}

h2{
    font-size:2rem;
}

h3{
    font-size:1.4rem;
}

p{
    color:#3c4858;
}

.wrapper {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Blog posts */
.post-content {
    max-width: 920px;
    margin: 0 auto;
}

.site-header{
    background:white;
    border-bottom:1px solid var(--border);

    position:sticky;
    top:0;
    z-index:100;

    backdrop-filter:blur(12px);
}

.site-title img{
    height:60px;
    width:auto;
}

.site-nav a{
    color:var(--muted);
    font-weight:500;
    transition:.2s;
}

.site-nav a:hover{
    color:var(--primary);
}



.box:first-child h1{

    max-width:900px;

    font-size:3.3rem;

    margin-bottom:25px;
}

.box:first-child p{

    font-size:1.1rem;

    color:var(--muted);

    max-width:850px;
}
.box:first-child ul{

    font-size:1.1rem;

    color:var(--muted);
}
.grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(280px,1fr));

    gap:24px;
}

.column{
    overflow-wrap: break-word;

    background:white;

    border:1px solid var(--border);

    border-radius:14px;

    padding:28px;

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);
}
.grid > * {
    min-width: 0;
}


a{

    color:var(--primary);

    text-decoration:none;
}

a:hover{

    color:var(--primary-dark);

    text-decoration:underline;
}

.column ul{

    margin-top:20px;

        padding-left: 1.2rem;

}

.column li{

    margin:10px 0;
}

#search-input{

    width:100%;

    padding:14px 18px;

    border-radius:12px;

    border:1px solid var(--border);

    background:white;

    font-size:16px;
}

#search-input:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:
        0 0 0 4px rgba(37,99,235,.15);
}

 .comments,
 .read-more,
 .page{
    padding:60px;
    margin:40px 0;
    background:white;
    border-radius:14px;
    border:1px solid var(--border);
     box-shadow: 0 2px 10px rgba(0, 0, 0, .03); 
}

.post-list{

    list-style:none;

    padding:0;
}

.post-list li{

    background:white;

    padding:30px;

    margin-bottom:22px;

    border-radius:14px;

    border:1px solid var(--border);

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);
}
/* 
.post-list li:hover{

    transform:translateY(-3px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);
} */

.post-link{

    font-size:1.6rem;

    font-weight:700;

    color:var(--text);
}

.post-link:hover{

    color:var(--primary);
}

.post-meta{

    color:#94a3b8;

    font-size:.9rem;
}

.site-footer{

    margin-top:80px;

    background:white;

    border-top:1px solid var(--border);

    padding:50px 0;
}

button,
.cc-btn{

    background:var(--primary);

    color:white;

    border:none;

    border-radius:10px;

    padding:12px 22px;

    font-weight:600;

    transition:.2s;
}

button:hover,
.cc-btn:hover{

    background:var(--primary-dark);
}

@media (max-width:768px){

    body{

        font-size:17px;
    }

    .box:first-child{

        padding:30px;
    }

    .box:first-child h1{

        font-size:2.3rem;
    }

    .column{

        padding:22px;
    }

    .post-list li{

        padding:24px;
    }
}
.category{
    margin-top: 2rem;
}

.category:first-child .post-list p{
    font-size: 1rem !important;
    color: #3c4858 !important;
}
.category .lead{
     margin-bottom: 2rem;
}


.more-posts-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;   /* <-- not center */
    gap: 2rem;
    margin-bottom: 2rem;
    margin-top: 2rem;
}

.search-box {
    position: relative;
    width: 360px;
    margin-left: auto;
    background: white;
    border-radius: 14px;
    border: 1px solid var(--border);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);
}

#search-input {
    width: 100%;
    box-sizing: border-box;
}

#results-container {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;

    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,.12);

    list-style: none;
    margin: 0;
    padding: 0;

    max-height: 400px;
    overflow-y: auto;

    z-index: 1000;
    display: none;
}

#results-container li {
    border-bottom: 1px solid #f1f5f9;
}

#results-container li:last-child {
    border-bottom: none;
}

#results-container a {
    display: block;
    padding: 12px 16px;
    color: #1f2937;
    text-decoration: none;
}

#results-container a:hover {
    background: #f8fafc;
    color: #2563eb;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .75rem;

    margin: 3.5rem 0 2rem;
}
.pagination a,
.pagination span {

    display:flex;
    align-items:center;
    justify-content:center;

    min-width:42px;
    height:42px;

    padding:0 16px;

    border-radius:10px;

    border:1px solid var(--border);

    background:white;

    color:var(--text);

    text-decoration:none;

    transition:.2s;
}
.pagination a:hover{

    background:var(--primary);

    color:white;

    border-color:var(--primary);

    transform:translateY(-2px);
}
.pagination .current{

    background:var(--primary);

    color:white;

    border-color:var(--primary);

    font-weight:600;
}
.pagination .disabled{

    opacity:.4;

    pointer-events:none;
}

.site-footer {
    display: block;
    width: 100%;
    margin-top: 5rem;
    padding: 4rem 0;
    border-top: 1px solid var(--border);
    box-sizing: border-box;
}

.subscription-box {
    width: 100%;
    box-sizing: border-box;
    padding: 48px;
    background: white;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);

    text-align: center;
}

.subscription-box .formkit-container {
    width: 100%;
}

.subscription-box .formkit-form {
    margin: 0 auto;
}

.footer-bottom {
    margin-top: 3rem;
    padding-top: 2rem;

    border-top: 1px solid var(--border);

    text-align: center;

    color: var(--muted);

    font-size: 0.95rem;
}

.footer-bottom p {
    margin: 0;
}

.site-title{
margin-bottom: 0px !important;
}
.contact-links {
    display: inline-flex;;
    flex-direction: column;
    gap: 0.75rem;
}

.contact-item {
    display: inline-flex;;
    align-items: center;
    gap: 0.75rem;
}

.contact-item svg,
.social-icon svg{
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    vertical-align: middle;
}


