/* ================================================================
   blog-procedure.css — REUSABLE + IZOLOVAN „operacija-nosa" layout
   za blog slug strane.

   SVE je pod .blog-proc (root wrapper), pa se NE MOŽE mešati sa
   blog-slug.css (.blog-view) ni globalnim CSS-om. Dizajn 1:1 iz
   components/ui/service/procedure.vue (isti tokeni, isti raspored).

   Učitavaju ga: pages/blog/[slug].vue (useHead link, SSR bez FOUC) i
   editor preview/canvas (useDynamicCSS) — isti obrazac kao blog-slug.css.

   Pojedinačne sekcije (BlogFaq, BlogKeyFacts, BlogWhyUs, …) su ZASEBNE
   scoped komponente — ovde je samo raspored (šina + prose) + ritam.
   ================================================================ */

/* Banner slika (kao proc-figure) */
.blog-proc .blog-proc__figure {
    border-radius: var(--radius-xl);
    margin: 0 0 var(--space-8);
    overflow: hidden;
}
.blog-proc .blog-proc__figure img {
    aspect-ratio: 16 / 7;
    display: block;
    height: auto;
    max-height: 380px;
    object-fit: cover;
    width: 100%;
}

/* Layout: sticky „Sadržaj" šina + prose kolona (1:1 iz procedure.vue) */
.blog-proc .proc-layout {
    align-items: start;
    display: grid;
    gap: var(--space-8);
    grid-template-columns: 300px minmax(0, 1fr);
}
.blog-proc .proc-rail {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
    position: sticky;
    top: calc(68px + var(--space-6));
}
.blog-proc .proc-rail__title {
    color: var(--color-text);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: .04em;
    margin-bottom: var(--space-3);
    text-transform: uppercase;
}
.blog-proc .proc-toc ul { list-style: none; margin: 0; padding: 0; }
.blog-proc .proc-toc li + li { margin-top: var(--space-1); }
.blog-proc .proc-toc a {
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    display: block;
    font-size: var(--font-size-sm);
    line-height: var(--line-height-snug);
    padding: var(--pad-2) var(--pad-3);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}
.blog-proc .proc-toc a:hover { background: var(--color-primary-soft); color: var(--color-primary); }
.blog-proc .proc-contact { display: flex; flex-direction: column; gap: var(--space-3); }
.blog-proc .proc-contact__phone { align-items: center; display: inline-flex; font-weight: var(--font-weight-semibold); gap: 6px; }
.blog-proc .proc-contact__phone svg { height: 16px; width: 16px; }

/* Prose kolona — širina + ritam između sekcija. Blog* komponente su
   self-styled (scoped), pa ovde NEMA tipografije po h2/p — samo raspored. */
.blog-proc .proc-prose { min-width: 0; display: flex; flex-direction: column; }
.blog-proc .proc-prose .blog-sections-container { max-width: none; margin: 0; padding: 0; }
.blog-proc .proc-prose .blog-section { scroll-margin-top: calc(68px + var(--space-6)); }
.blog-proc .proc-prose .blog-section + .blog-section {
    margin-top: var(--space-10);
    padding-top: var(--space-10);
    border-top: var(--border-thin) solid var(--color-border-light);
}

@media (max-width: 900px) {
    .blog-proc .proc-layout { grid-template-columns: 1fr; }
    .blog-proc .proc-rail { order: 2; position: static; }
    .blog-proc .proc-prose { order: 1; }
}
@media (max-width: 640px) {
    .blog-proc .blog-proc__figure img { max-height: 240px; }
}
