/* ====================================
   APPLICATION PAGE - SECTIONS
   Stran aplikacije iz sekcij (Items/app_detail_sections.ctp).
   Naloži se le na tej strani, za style.css.
   ==================================== */

.app-hero--sections {
    padding-bottom: 0;
}

/* Osnovni blok */
.app-block {
    padding: 56px 0;
    background: var(--bg-white);
}

.app-block--bg-gray {
    background: var(--secondary-color);
}

.app-hero--sections + .app-block {
    padding-top: 28px;
}

/* Povezane sekcije (»Poveži s prejšnjo sekcijo«): med njima le običajen razmik vsebine.
   .app-block.… preglasi tudi .section/.testimonials (izjava stranke) */
.app-block.app-block--join-bottom {
    padding-bottom: 0;
}

.app-block.app-block--join-top {
    padding-top: 32px;
}

/* Besedilo + fotografija */
.app-block-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}

/* s fotografijo vedno pol-pol (slika ohrani razmerje stranic) */
.app-block-intro.has-media {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.app-block--image-left .app-block-intro.has-media .app-block-media {
    order: -1;
}

/* brez fotografije: besedilo v dveh stolpcih (naslov ostane nad obema) */
.app-block--text-cols .app-block-body {
    column-count: 2;
    column-gap: 56px;
}

.app-block--text-cols .app-block-body li,
.app-block--text-cols .app-block-body h3,
.app-block--text-cols .app-block-body h4,
.app-block--text-cols .app-block-body img,
.app-block--text-cols .app-block-body table {
    break-inside: avoid;
}

.app-block--text-cols .app-block-body h3,
.app-block--text-cols .app-block-body h4,
.app-block--text-cols .app-block-body p:has(+ ul),
.app-block--text-cols .app-block-body p:has(+ ol) {
    break-after: avoid;
}

.app-block-eyebrow {
    margin: 0 0 8px;
    color: var(--accent-color);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* .container h2 je v style.css centriran - naslovi sekcij so poravnani z besedilom */
.container .app-block-title {
    margin: 0 0 18px;
    color: #1a2332;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: start;
}

.container .app-block-body h2,
.container .app-block-body h4 {
    text-align: start;
}

.app-block-body > :first-child {
    margin-top: 0;
}

.app-block-body > :last-child {
    margin-bottom: 0;
}

.app-block-body img {
    max-width: 100%;
    height: auto;
}

/* Seznami v besedilih sekcij: tesnejši razmiki, zelene alineje */
.app-block-body p {
    margin-bottom: 0.9em;
}

.app-block-body ul,
.app-block-body ol {
    margin: 0.3em 0 1em;
    padding-left: 1.25em;
}

.app-block-body li {
    margin-bottom: 0.2em;
    padding-left: 0.2em;
}

.app-block-body li::marker {
    color: var(--accent-color);
    font-weight: 700;
}

.app-block-body li > p {
    margin: 0;
}

/* gnezdeni seznami */
.app-block-body li > ul,
.app-block-body li > ol {
    margin: 0.2em 0 0.3em;
}

/* razredi, ki jih dodaja CKEditor (Fck helper) */
.app-block .Bold { font-weight: 700; }
.app-block .Italic { font-style: italic; }
.app-block .Underline { text-decoration: underline; }
.app-block .StrikeThrough { text-decoration: line-through; }
.app-block .Subscript { vertical-align: sub; font-size: smaller; }
.app-block .Superscript { vertical-align: super; font-size: smaller; }
.app-block .JustifyLeft { text-align: left; }
.app-block .JustifyCenter { text-align: center; }
.app-block .JustifyRight { text-align: right; }
.app-block .JustifyFull { text-align: justify; }

.app-block-media {
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.app-block-media img {
    display: block;
    width: 100%;
    height: auto;
}

/* Povezave in gumbi iz kratkih kod */
.app-inline-product {
    color: var(--primary-light);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.app-inline-product:hover {
    color: var(--accent-color);
}

.app-inline-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

/* Vrstica izdelkov */
.app-block-products {
    margin-top: 48px;
}

.app-block-products:first-child {
    margin-top: 0;
}

.app-block-products-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: 20px;
}

.container .app-block-products-title {
    margin: 0;
    color: #1a2332;
    font-size: 1.35rem;
    font-weight: 700;
    text-align: start;
}

.app-block-more {
    margin-inline-start: auto;
    color: var(--primary-light);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.app-block-more:hover {
    color: var(--accent-color);
}

.app-products-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

/* style.css doda .product-card zeleno obrobo, seznami izdelkov jo v products.css odstranijo -
   kartica je brez obrobe, poudari se le slika */
.app-products-row .app-product-card,
.app-products-row .app-product-card:hover {
    border: none;
}

.app-product-card .product-image {
    height: 220px;
}

.app-product-card .product-content {
    padding: 16px 4px 0;
}

.app-product-card .product-content h3 {
    min-height: 0;
    margin-bottom: 6px;
    font-size: 1.05rem;
}

/* Izjava stranke */
.app-testimonial-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
}

.app-testimonial-logo {
    max-width: 160px;
    max-height: 56px;
    object-fit: contain;
}

/* Obstoječi gradniki (galerija, dokumenti ...) */
.app-block-builtin--documents {
    padding-top: 8px;
}

/* Predogled (le za prijavljene uporabnike) */
.app-preview-bar {
    position: fixed;
    bottom: 16px;
    left: 50%;
    z-index: 1000;
    max-width: calc(100% - 32px);
    padding: 10px 18px;
    border-radius: 8px;
    background: #fff3cd;
    box-shadow: var(--shadow-md);
    color: #5c4400;
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    transform: translateX(-50%);
}

/* Tablica */
@media (max-width: 992px) {
    .app-block-intro,
    .app-block-intro.has-media,
    .app-block--image-left .app-block-intro.has-media {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .app-block--image-left .app-block-intro.has-media .app-block-media {
        order: 0;
    }

    .app-products-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* besedilo v dveh stolpcih le na širših zaslonih */
@media (max-width: 768px) {
    .app-block--text-cols .app-block-body {
        column-count: 1;
    }
}

/* Telefon */
@media (max-width: 640px) {
    .app-block {
        padding: 40px 0;
    }

    .container .app-block-title {
        font-size: 1.7rem;
    }

    .app-block-products {
        margin-top: 36px;
    }

    .app-products-row {
        gap: 16px;
    }

    .app-product-card .product-image {
        height: 160px;
        padding: 12px;
    }

    .app-product-card .product-content h3 {
        font-size: 0.95rem;
    }

    .app-product-card .product-content p {
        display: none;
    }
}
