/* Blog (výpis a detail článku, obsah z Galosite CMS) */

.blog-vypis, .blog-clanek { padding-top: 3rem; padding-bottom: 4rem; }

.blog-uvod { margin-bottom: 2rem; }
.blog-uvod p { color: #5d6264; }

.blog-datum { color: #5d6264; font-size: 0.875rem; margin-bottom: 0.5rem; }

/* Výpis */
.blog-karty { display: flex; flex-wrap: wrap; }
.blog-karta { display: flex; flex-direction: column; margin-bottom: 2.5rem; }
.blog-karta-foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #e8e8e8; }
.blog-karta-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.blog-karta-foto:hover img { transform: scale(1.04); }
.blog-karta-text { display: flex; flex-direction: column; flex: 1; padding-top: 1rem; }
.blog-karta h2 { font-size: 1.2rem; line-height: 1.3; margin-bottom: 0.75rem; }
.blog-karta h2 a { color: #404041; }
.blog-karta h2 a:hover { color: #4fa835; }
.blog-karta p { color: #5d6264; line-height: 1.5; }
.blog-karta .button { align-self: flex-start; margin-top: auto; margin-bottom: 0; }

.blog-strankovani .button { background: #e8e8e8; color: #404041; margin: 0 0.15rem; min-width: 2.5rem; }
.blog-strankovani .button:hover, .blog-strankovani .button.aktivni { background: #4fa835; color: #fff; }

/* Detail */
.blog-zpet { margin-bottom: 1.5rem; font-size: 0.9rem; }
.blog-zpet a { color: #5d6264; }
.blog-zpet a:hover { color: #4fa835; }
.blog-clanek h1.typove { line-height: 1.2; margin-bottom: 0.5rem; }
.blog-perex { font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif; font-size: 1.15rem; font-weight: 500; line-height: 1.5; color: #404041; margin: 1.5rem 0 2rem; }

.blog-obsah { font-size: 1.05rem; line-height: 1.7; color: #404041; }
.blog-obsah h2, .blog-obsah h3 { font-size: 1.35rem; color: #303031; margin-top: 2.25rem; margin-bottom: 0.75rem; }
.blog-obsah p { margin-bottom: 1.1rem; }
.blog-obsah ul, .blog-obsah ol { margin-bottom: 1.1rem; }
.blog-obsah a { color: #4fa835; text-decoration: underline; }
.blog-obsah a:hover { color: #3d8a28; }
.blog-obsah img { max-width: 100%; height: auto; }
.blog-obsah figure.clanek-foto { margin: 2rem 0; }
.blog-obsah figure.clanek-foto a { display: block; }
.blog-obsah figure.clanek-foto img { display: block; width: 100%; max-height: 640px; object-fit: contain; background: #f4f4f4; }
.blog-obsah figcaption { font-size: 0.875rem; color: #5d6264; padding-top: 0.5rem; text-align: center; line-height: 1.4; }

.blog-cta { margin-top: 3rem; padding: 2rem 1rem; background: #f4f4f4; }
.blog-cta p { font-size: 1.1rem; margin-bottom: 1rem; }
.blog-cta .button { margin-bottom: 0; }
