/* ==========================================================================
   Adaptiva - stil javnih blog stranica (blog.php, blog-post.php)

   Ucitava se POSLE css/style.css i css/responsive.css.
   Sve klase su prefiksovane sa .blog-* i vecina je dodatno ograničena na
   .blog-page (klasa na <main>), tako da nijedno pravilo odavde ne moze da
   promeni izgled postojecih stranica sajta.

   Boje, fontovi i razmaci preuzeti su iz css/style.css:
     --brand-color: #f68a0a ; --black-color: #101010 ; body text: #535353
     naslovi: "Space Grotesk"
   ========================================================================== */

.blog-page {
    --blog-brand: var(--brand-color, #f68a0a);
    --blog-ink: var(--black-color, #101010);
    --blog-body: var(--body-text-color, #535353);
    --blog-line: #e6e8ec;
    --blog-surface: #ffffff;
    --blog-surface-alt: #f6f7f9;
    --blog-radius: 4px;
    --blog-shadow: 0 1px 2px rgba(16, 16, 16, .04), 0 12px 34px rgba(16, 16, 16, .07);
    --blog-shadow-hover: 0 2px 6px rgba(16, 16, 16, .06), 0 22px 48px rgba(16, 16, 16, .12);
}

/* Hero (naslov clanka nije animiran, pa mu treba osnovna boja) */
.blog-page .blog-hero__title {
    color: #fff;
    max-width: 900px;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

.blog-page .blog-hero__meta {
    color: rgba(255, 255, 255, .82);
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0;
}

/* ==========================================================================
   Lista objava
   ========================================================================== */

.blog-page .blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 30px;
    align-items: stretch;
}

.blog-page .blog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;                 /* bez ovoga dugacke reci razvlace grid */
    background: var(--blog-surface);
    border: 1px solid var(--blog-line);
    border-radius: var(--blog-radius);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.blog-page .blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--blog-shadow-hover);
    border-color: transparent;
}

/* --- slika (renderuje se samo kada objava zaista ima sliku) --- */

.blog-page .blog-card__media {
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--blog-surface-alt);
    aspect-ratio: 16 / 10;
}

.blog-page .blog-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.blog-page .blog-card:hover .blog-card__image {
    transform: scale(1.06);
}

/* Rezerva za browsere bez aspect-ratio podrske (stariji Safari). */
@supports not (aspect-ratio: 16 / 10) {
    .blog-page .blog-card__media {
        height: 0;
        padding-bottom: 62.5%;
    }
    .blog-page .blog-card__image {
        position: absolute;
        inset: 0;
    }
}

/* --- telo kartice --- */

.blog-page .blog-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 26px 26px 28px;
}

/* Kartica bez slike ne sme da ima praznu rupu gore - dobija tanku brend liniju */
.blog-page .blog-card--no-image {
    border-top: 3px solid var(--blog-brand);
}

.blog-page .blog-card--no-image .blog-card__body {
    padding-top: 28px;
}

.blog-page .blog-card__date {
    margin: 0 0 10px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--blog-brand);
}

.blog-page .blog-card__title {
    font-family: "Space Grotesk", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 12px;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.blog-page .blog-card__title a {
    color: var(--blog-ink);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    transition: color .25s ease;
}

.blog-page .blog-card__title a:hover,
.blog-page .blog-card:hover .blog-card__title a {
    color: var(--blog-brand);
}

.blog-page .blog-card__excerpt {
    margin: 0 0 22px;
    color: var(--blog-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.blog-page .blog-card__cta {
    margin-top: auto;             /* CTA uvek na dnu kartice, ma kolika bila */
    align-self: flex-start;
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--blog-ink);
    padding-bottom: 4px;
    border-bottom: 2px solid var(--blog-brand);
    transition: color .25s ease;
}

.blog-page .blog-card__cta:hover {
    color: var(--blog-brand);
}

.blog-page .blog-card__arrow {
    display: inline-block;
    transition: transform .25s ease;
}

.blog-page .blog-card__cta:hover .blog-card__arrow,
.blog-page .blog-card:hover .blog-card__arrow {
    transform: translateX(5px);
}

/* ==========================================================================
   Prazno stanje / greska
   ========================================================================== */

.blog-page .blog-empty {
    max-width: 640px;
    margin: 0 auto;
    padding: 60px 24px 70px;
    text-align: center;
    border: 1px solid var(--blog-line);
    border-radius: var(--blog-radius);
    background: var(--blog-surface);
}

.blog-page .blog-empty h2 {
    overflow-wrap: break-word;
}

.blog-page .blog-empty__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
}

/* Dugmad na blog stranicama - malo kompaktnija od .brand-btn sa pocetne */
.blog-page .blog-btn {
    display: inline-block;
    padding: 16px 38px;
    font-size: 15px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

/* ==========================================================================
   Paginacija
   ========================================================================== */

.blog-page .blog-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 60px;
}

.blog-page .blog-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.blog-page .blog-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 46px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid var(--blog-line);
    background: var(--blog-surface);
    color: var(--blog-ink);
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.blog-page .blog-pagination__link:hover {
    border-color: var(--blog-brand);
    color: var(--blog-brand);
}

.blog-page .blog-pagination__link.is-current {
    background: var(--blog-brand);
    border-color: var(--blog-brand);
    color: #fff;
    font-weight: 700;
    cursor: default;
}

.blog-page .blog-pagination__link.is-disabled {
    opacity: .4;
    cursor: default;
}

.blog-page .blog-pagination__link.is-disabled:hover {
    border-color: var(--blog-line);
    color: var(--blog-ink);
}

.blog-page .blog-pagination__link--nav {
    padding: 0 20px;
    font-weight: 500;
    white-space: nowrap;
}

.blog-page .blog-pagination__gap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    min-height: 46px;
    color: var(--blog-body);
}

.blog-page .blog-pagination__status {
    margin: 18px 0 0;
    text-align: center;
    color: var(--blog-body);
    font-size: 14px;
    font-weight: 500;
}

.blog-page .blog-pagination__link:focus-visible,
.blog-page .blog-card__title a:focus-visible,
.blog-page .blog-card__cta:focus-visible,
.blog-page .blog-article__back:focus-visible {
    outline: 2px solid var(--blog-brand);
    outline-offset: 3px;
}

/* ==========================================================================
   Pojedinacna objava
   ========================================================================== */

.blog-page .blog-breadcrumb {
    max-width: 820px;
    margin: 0 auto 26px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--blog-body);
}

.blog-page .blog-breadcrumb a {
    font-size: inherit;
    color: var(--blog-body);
    transition: color .25s ease;
}

.blog-page .blog-breadcrumb a:hover {
    color: var(--blog-brand);
}

.blog-page .blog-breadcrumb span {
    margin: 0 8px;
    color: #b9bec6;
}

.blog-page .blog-article {
    max-width: 820px;
    margin: 0 auto;
}

.blog-page .blog-article__figure {
    margin: 0 0 40px;
}

.blog-page .blog-article__image {
    display: block;
    width: 100%;
    height: auto;             /* cuva odnos stranica, nikad ne preliva */
    max-width: 100%;
    border-radius: var(--blog-radius);
}

/* --- tipografija clanka: udobna za duze citanje --- */

.blog-page .blog-article__body {
    color: var(--blog-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.blog-page .blog-article__body p {
    margin: 0 0 1.5em;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.blog-page .blog-article__body p:last-child {
    margin-bottom: 0;
}

/* Prvi pasus malo istaknutiji - uvod u tekst */
.blog-page .blog-article__body p:first-child {
    font-size: 1.08em;
    color: #3f4650;
}

.blog-page .blog-article__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 56px;
    padding-top: 32px;
    border-top: 1px solid var(--blog-line);
}

.blog-page .blog-article__back {
    font-family: "Space Grotesk", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--blog-ink);
    transition: color .25s ease;
}

.blog-page .blog-article__back:hover {
    color: var(--blog-brand);
}

/* ==========================================================================
   Responsive
   Breakpoint-i prate css/responsive.css (1199 / 991 / 767 / 575)
   ========================================================================== */

@media (max-width: 1199px) {
    .blog-page .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 26px;
    }
    .blog-page .blog-card__title { font-size: 21px; }
}

@media (max-width: 991px) {
    .blog-page .blog-article__body { font-size: 17px; }
    .blog-page .blog-article__figure { margin-bottom: 32px; }
}

@media (max-width: 767px) {
    .blog-page .blog-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
    .blog-page .blog-card__body { padding: 22px 20px 24px; }
    .blog-page .blog-card__title { font-size: 20px; }
    .blog-page .blog-card__excerpt { font-size: 15px; margin-bottom: 18px; }

    .blog-page .blog-hero__meta { font-size: 13px; }

    .blog-page .blog-pagination { margin-top: 44px; gap: 8px; }
    .blog-page .blog-pagination__link {
        min-width: 42px;
        min-height: 42px;
        padding: 0 10px;
        font-size: 14px;
    }
    .blog-page .blog-pagination__link--nav { padding: 0 14px; }

    .blog-page .blog-article__body { font-size: 16.5px; line-height: 1.8; }
    .blog-page .blog-article__foot {
        margin-top: 42px;
        padding-top: 26px;
        flex-direction: column;
        align-items: flex-start;
    }
    .blog-page .blog-article__foot .blog-btn { width: 100%; text-align: center; }

    .blog-page .blog-empty { padding: 44px 20px 48px; }
    .blog-page .blog-empty__actions .blog-btn { width: 100%; }
}

/* ~360 px: paginacija mora da ostane upotrebljiva bez horizontalnog skrola */
@media (max-width: 480px) {
    .blog-page .blog-pagination {
        flex-direction: column;
        align-items: stretch;
    }
    .blog-page .blog-pagination__link--nav {
        width: 100%;
        justify-content: center;
    }
    .blog-page .blog-pagination__pages { order: -1; }

    .blog-page .blog-card__body { padding: 20px 16px 22px; }
    .blog-page .blog-card__title { font-size: 19px; }
    .blog-page .blog-breadcrumb { font-size: 13px; }
    .blog-page .blog-btn { padding: 15px 24px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .blog-page .blog-card,
    .blog-page .blog-card__image,
    .blog-page .blog-card__arrow {
        transition: none;
    }
    .blog-page .blog-card:hover { transform: none; }
    .blog-page .blog-card:hover .blog-card__image { transform: none; }
}
