/* xCMS — style uzupełniające Bootstrap 5 */
body { min-height: 100vh; display: flex; flex-direction: column; }
img { max-width: 100%; height: auto; }

/* Nagłówek / nawigacja */
.navbar-brand { letter-spacing: .2px; }
.navbar-nav .nav-link.active { font-weight: 600; }

/* Główna kolumna treści */
.col-main { min-width: 0; }

/* Moduły */
.module-title { margin: 0; font-size: 1.1rem; }

/* Widoki komponentów (strony, blog, galerie, kontakty) */
.list article { margin-bottom: 1.5rem; }
.lead { font-size: 1.15rem; }
.meta { color: var(--bs-secondary-color, #6c757d); font-size: .9rem; }
.pager { display: flex; gap: .5rem; margin: 1.5rem 0; }

/* Formularze */
.form-row { margin-bottom: 1rem; }
.form-row label { display: block; margin-bottom: .25rem; font-weight: 500; }
.hp { position: absolute; left: -9999px; }

/* Komunikaty */
.msg-ok { background: #d1e7dd; border: 1px solid #a3cfbb; color: #0f5132; padding: .75rem 1rem; border-radius: .375rem; margin-bottom: 1rem; }
.msg-err { background: #f8d7da; border: 1px solid #f1aeb5; color: #842029; padding: .75rem 1rem; border-radius: .375rem; margin-bottom: 1rem; }

/* Galerie */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .75rem; }
.gallery-grid a { display: block; }

/* Mapy */
.map iframe { width: 100%; min-height: 280px; border: 0; border-radius: .375rem; }
/* ==== Ulepszenia wizualne (Bootstrap 5) ==== */
.hero { background: linear-gradient(135deg, #0d6efd 0%, #6f42c1 100%); color:#fff; border-radius: .75rem; padding: 3.5rem 2rem; }
.hero h1 { font-weight: 700; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.hero .lead { color: rgba(255,255,255,.9); }
.feature-card { border: 0; box-shadow: 0 .25rem 1rem rgba(0,0,0,.08); border-radius: .75rem; height:100%; }
.feature-icon { width: 56px; height: 56px; display:flex; align-items:center; justify-content:center; border-radius:.75rem; background:#e7f1ff; color:#0d6efd; font-size: 1.5rem; margin-bottom: 1rem; }
.cta-band { background:#212529; color:#fff; border-radius:.75rem; padding: 2.5rem 2rem; }
.section-title { font-weight:700; }
.col-main .card, .col-main article.card { box-shadow: 0 .15rem .6rem rgba(0,0,0,.06); border-radius:.6rem; }
@media (max-width: 767px){ .hero { padding: 2rem 1.25rem; } }
