/* ===========================================================================
   Blog, kalendar sadnje, kontakt i newsletter
   =========================================================================== */

/* --- Kartica teksta -------------------------------------------------------- */
.post-card {
    display: grid;
    grid-template-rows: auto 1fr;
    background: var(--dg-bg);
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius-lg);
    overflow: hidden;
    position: relative;
    transition: border-color var(--dg-dur) var(--dg-ease),
                box-shadow var(--dg-dur) var(--dg-ease),
                transform var(--dg-dur) var(--dg-ease);
}
.post-card:hover,
.post-card:focus-within {
    border-color: var(--dg-primary);
    box-shadow: var(--dg-shadow-2);
    transform: translateY(-2px);
}

.post-card__media { aspect-ratio: 16 / 9; background: var(--dg-surface); overflow: hidden; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; }

.post-card__body { display: grid; gap: var(--dg-2); padding: var(--dg-5); align-content: start; }
.post-card__body .label a { color: inherit; text-decoration: none; }

.post-card__title {
    font-family: var(--dg-font-display);
    font-size: var(--dg-fs-lg);
    line-height: var(--dg-lh-snug);
    letter-spacing: var(--dg-track-tight);
    margin: 0;
}
.post-card__title a { color: inherit; text-decoration: none; }
.post-card__title a::before { content: ""; position: absolute; inset: 0; }

/* --- Bočna navigacija bloga ------------------------------------------------ */
.blog-side ul { list-style: none; margin: 0 0 var(--dg-4); padding: 0; display: grid; gap: var(--dg-1); }
.blog-side a {
    display: flex;
    justify-content: space-between;
    gap: var(--dg-2);
    padding: var(--dg-2) var(--dg-3);
    border-radius: var(--dg-radius);
    color: var(--dg-ink);
    text-decoration: none;
    font-size: var(--dg-fs-sm);
}
.blog-side a:hover { background: var(--dg-surface); }
.blog-side a[aria-current="page"] { background: var(--dg-primary-tint); color: var(--dg-primary); font-weight: 600; }

/* --- Tekst ----------------------------------------------------------------- */
.post-cover {
    margin: var(--dg-6) auto;
    max-width: 60rem;
}
.post-cover img { border-radius: var(--dg-radius-lg); width: 100%; }

.post-body { font-size: var(--dg-fs-md); line-height: var(--dg-lh-loose); }
.post-body h2 { margin-top: var(--dg-8); }
.post-body h3 { margin-top: var(--dg-6); }

/* Prvi odlomak nosi malo više težine — uvod u tekst */
.post-body > p:first-of-type { font-size: 1.06em; }

/* --- Kalendar sadnje ------------------------------------------------------- */
.month-picker {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--dg-1);
    padding: var(--dg-2);
    background: var(--dg-surface);
    border-radius: var(--dg-radius-lg);
}
@media (min-width: 48rem) {
    .month-picker { grid-template-columns: repeat(12, 1fr); }
}

.month-picker__item {
    display: grid;
    justify-items: center;
    gap: 2px;
    padding: var(--dg-3) var(--dg-1);
    border-radius: var(--dg-radius);
    text-decoration: none;
    color: var(--dg-ink);
    transition: background var(--dg-dur-fast) var(--dg-ease);
}
.month-picker__item:hover { background: var(--dg-bg); }
.month-picker__item.is-active { background: var(--dg-primary); color: var(--dg-on-primary); }
.month-picker__item.is-current:not(.is-active) { box-shadow: inset 0 0 0 1px var(--dg-accent); }

.month-picker__short {
    font-family: var(--dg-font-mono);
    font-size: var(--dg-fs-2xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.month-picker__count { font-size: var(--dg-fs-sm); font-weight: 600; }
.month-picker__item.is-active .month-picker__count { color: var(--dg-on-primary); }

.calendar-list { display: grid; gap: var(--dg-4); list-style: none; margin: 0; padding: 0; }

.calendar-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--dg-4);
    align-items: start;
    padding-bottom: var(--dg-4);
    border-bottom: 1px solid var(--dg-border);
}

.calendar-item__tag {
    font-family: var(--dg-font-mono);
    font-size: var(--dg-fs-2xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: var(--dg-1) var(--dg-2);
    border-radius: var(--dg-radius-sm);
    background: var(--dg-surface);
    color: var(--dg-ink-muted);
    white-space: nowrap;
    min-width: 7rem;
    text-align: center;
}
/* Boja govori o vrsti posla brže od čitanja */
.calendar-item[data-activity="sadnja"] .calendar-item__tag { background: var(--dg-primary-tint); color: var(--dg-primary); }
.calendar-item[data-activity="berba"] .calendar-item__tag { background: var(--dg-warning-tint); color: #6b4c05; }
.calendar-item[data-activity="zaštita"] .calendar-item__tag { background: var(--dg-danger-tint); color: var(--dg-danger); }
[data-theme="dark"] .calendar-item[data-activity="berba"] .calendar-item__tag { color: var(--dg-warning); }

.calendar-item__title { font-size: var(--dg-fs-md); margin: 0 0 var(--dg-1); }

/* --- Česta pitanja --------------------------------------------------------- */
.faq { display: grid; gap: var(--dg-2); }
.faq__item {
    border: 1px solid var(--dg-border);
    border-radius: var(--dg-radius);
    padding: var(--dg-4);
}
.faq__item summary {
    cursor: pointer;
    font-weight: 600;
    font-size: var(--dg-fs-md);
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: var(--dg-3);
    align-items: center;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
    content: "";
    flex: none;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--dg-dur) var(--dg-ease);
}
.faq__item[open] summary::after { transform: rotate(-135deg); }
.faq__item[open] summary { margin-bottom: var(--dg-3); }

/* --- Mapa ------------------------------------------------------------------ */
.map-embed {
    display: grid;
    gap: var(--dg-2);
    place-items: center;
    align-content: center;
    min-height: 16rem;
    padding: var(--dg-5);
    text-align: center;
    background: var(--dg-surface);
    border-radius: var(--dg-radius-lg);
}
.map-embed iframe { width: 100%; min-height: 20rem; border: 0; border-radius: var(--dg-radius); }
.map-embed--loaded { padding: 0; min-height: 0; }

/* --- Newsletter ------------------------------------------------------------ */
.newsletter-form { display: grid; gap: var(--dg-3); }
.newsletter-form__row { display: flex; flex-wrap: wrap; gap: var(--dg-2); }
.newsletter-form__row .input { flex: 1 1 12rem; }

.site-footer .newsletter-form .input {
    background: rgb(255 255 255 / 0.1);
    border-color: rgb(255 255 255 / 0.3);
    color: inherit;
}
.site-footer .newsletter-form .input::placeholder { color: rgb(255 255 255 / 0.6); }
[data-theme="dark"] .site-footer .newsletter-form .input {
    background: var(--dg-bg);
    border-color: var(--dg-border-strong);
}
[data-theme="dark"] .site-footer .newsletter-form .input::placeholder { color: var(--dg-ink-muted); }
