/* ============================================================
   Green13 Page Builder Frontend CSS
   Bootstrap 5 viene caricato separatamente
   ============================================================ */

/* ── Reset section ───────────────────────────────────────── */
.apb-section { position: relative; }
.apb-fw      { width: 100%; padding-left: 0; padding-right: 0; max-width: none; }

/* ── Headings ────────────────────────────────────────────── */
.apb-heading {
    margin-top: 0;
    margin-bottom: .75rem;
    line-height: 1.2;
}

/* ── Text ────────────────────────────────────────────────── */
.apb-text {
    line-height: 1.75;
    margin-bottom: .75rem;
}

/* ── Image ───────────────────────────────────────────────── */
.apb-image {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ── Button ──────────────────────────────────────────────── */
.apb-btn-wrap { display: block; }
.apb-btn-wrap.text-center { text-align: center; }
.apb-btn-wrap.text-end    { text-align: right; }

/* ── Divider ─────────────────────────────────────────────── */
.apb-divider { border: none; border-top-width: 1px; border-top-style: solid; }

/* ── Gallery ─────────────────────────────────────────────── */
.apb-gallery-item {
    aspect-ratio: 3/2;
    background-size: cover;
    background-position: center;
    border-radius: 6px;
    overflow: hidden;
    transition: transform .3s ease;
}
.apb-gallery-item:hover { transform: scale(1.03); }

/* ── Hero block ──────────────────────────────────────────── */
.apb-hero { min-height: 300px; }

/* ── Header / Footer builder ─────────────────────────────── */
.apb-header--custom {
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* Vertical-center columns inside a header row */
.apb-section.apb-hdr .row {
    align-items: center;
    --bs-gutter-y: 0;
}

/* Footer: no top margin on blocks inside footer columns */
.apb-footer-col .apb-heading {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .8rem !important;
    margin-bottom: .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 767px) {
    .apb-section [class*="col-md-"] { margin-bottom: 1.5rem; }
    .apb-section [class*="col-md-"]:last-child { margin-bottom: 0; }
    .apb-header--custom { position: relative; }
}
