/* --- Global & Typography --- */
body {
    font-family: 'Lato', sans-serif;
    color: #343a40;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

.section-title {
    color: #2c88c9;
    font-weight: 300;
    font-size: 2.5rem;
}

.bg-light {
    background-color: #f8f9fa !important;
}

/* --- Navbar --- */
.navbar {
    transition: padding 0.3s ease-in-out;
}
.navbar-brand img {
    transition: height 0.3s ease-in-out;
}
.nav-link {
    font-weight: 700;
    color: #1455a5 !important;
    margin: 0 0.5rem;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s;
}
.nav-link:hover, .nav-link.active {
    border-bottom-color: #2c88c9;
}

/* --- Hero Section --- */
.hero-section {
    position: relative;
    text-align: center;
    color: white;
    padding-top: 80px; /* Offset for fixed navbar */
}
.hero-image {
    width: 100%;
    height: 60vh;
    object-fit: cover;
    filter: brightness(0.6);
}
.hero-caption {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
}
.hero-title {
    font-size: clamp(2.5rem, 8vw, 5rem);
    font-weight: 900;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
}

/* --- Pills (Tabs) --- */
.nav-pills .nav-link {
    border-radius: 0;
    border: 2px solid #2c88c9;
    color: #2c88c9;
    margin: 0.25rem;
    transition: background-color 0.3s, color 0.3s;
}
.nav-pills .nav-link.active {
    color: #fff;
    background-color: #2c88c9;
}
.nav-pills .nav-link:not(.active):hover {
    background-color: rgba(44, 136, 201, 0.1);
}

/* --- Cards (Oferta) --- */
.card {
    border: none;
    border-radius: 0.5rem;
    transition: transform 0.3s, box-shadow 0.3s;
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
.card-body {
    text-align: center;
}

/* --- Accordion (Realizacje) --- */
.accordion {
    --bs-accordion-border-width: 0;
}
.accordion-item {
    margin-bottom: 0.5rem;
    border-radius: 0.375rem !important;
    overflow: hidden;
}
.accordion-button {
    font-weight: 700;
    color: #343a40;
    background-color: #e9ecef;
}
.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: #2c88c9;
}
.accordion-button:focus {
    box-shadow: none;
}
.accordion-body ul {
    list-style-type: '✓ ';
    padding-left: 1.2rem;
    margin-bottom: 0;
}

/* --- Footer --- */
footer a.social-link img {
    width: 40px;
    margin: 0 0.5rem;
    transition: opacity 0.3s;
}
footer a.social-link:hover img {
    opacity: 0.8;
}

/* --- NOWA REGUŁA DLA OBRAZÓW W SEKCJACH CERTYFIKATY I PARTNERZY --- */
#certyfikaty-pane .card-img-top,
#partnerzy-pane .card-img-top {
    max-width: 152px; /* Zgodnie z oryginalnym rozmiarem pliku np. jung_152.png */
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding-top: 1rem; /* Dodaje trochę przestrzeni od góry */
}

#inwestor-pane .card-img-top,
#architekt-pane .card-img-top,
#deweloper-pane .card-img-top,
#instalator-pane .card-img-top,
#int-dom-pane .card-img-top,
#funkcje-pane .card-img-top {
    max-width: 245px; 
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding-top: 1rem; /* Dodaje trochę przestrzeni od góry */
}

