.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-card{border:1px solid #ddd;border-radius:16px;padding:22px}.blog-card img,.blog-cover{width:100%;height:auto;object-fit:cover;border-radius:12px}.blog-body{font-size:1.08rem;line-height:1.9;overflow-wrap:anywhere}.blog-body h2{margin-top:2rem}.blog-admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}#blog-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}#blog-form input,#blog-form textarea,#blog-form select{width:100%;padding:12px;border:1px solid #bbb;border-radius:8px;font:inherit}#blog-form textarea{resize:vertical}.blog-list-button{display:block;width:100%;text-align:left;padding:12px;margin:8px 0;border:1px solid #ddd;border-radius:8px;background:white;cursor:pointer}#post-preview{border-top:2px solid #ddd;margin-top:30px;padding-top:20px}@media(max-width:700px){.blog-grid,.blog-admin-layout{grid-template-columns:1fr}} 

.blog-figure{margin:28px 0}.blog-figure img{width:100%;height:auto;border-radius:12px}.blog-figure figcaption{font-size:.85rem;color:#555;margin-top:8px}.blog-body a{text-decoration:underline;text-underline-offset:3px}

.blog-article{min-width:0}.blog-cover{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain;background:#f5f7fa}.blog-body .blog-figure{width:100%;max-width:100%;margin:28px 0}.blog-body .blog-figure img{display:block;width:100%;max-width:100%;height:auto;max-height:520px;object-fit:contain;background:#f5f7fa}.blog-figure figcaption{overflow-wrap:anywhere}@media(max-width:600px){.blog-body .blog-figure img,.blog-cover{max-height:360px}}

/* Article figures must grow with the photo and its caption, overriding the homepage figure box. */
.blog-article .blog-body figure.blog-figure{height:auto;min-height:0;max-height:none;overflow:visible;background:transparent;position:static;border-radius:0}
.blog-article .blog-body figure.blog-figure img{display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:0 auto}
.blog-article .blog-cover{width:100%;height:auto;max-height:none;object-fit:contain}

/* Blog captions belong in normal document flow, never over the homepage hero. */
.blog-article .blog-body .blog-figure figcaption{position:static;inset:auto;display:block;width:100%;max-width:100%;margin:8px 0 0;padding:0;background:transparent;border-radius:0;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;word-break:normal;color:#555;font-size:.85rem;line-height:1.6}
