/* Pagebuilder Block Styles */
.pb-section { }
.pb-text { line-height: 1.8; }
.pb-text p { margin-bottom: 12px; }
.pb-text h2, .pb-text h3 { margin: 20px 0 8px; }
.pb-text a { color: var(--primary); }
.pb-text ul, .pb-text ol { margin: 12px 0; padding-left: 24px; }
.pb-text img { max-width: 100%; border-radius: 8px; }

.pb-gallery-item { overflow: hidden; }
.pb-gallery-item:hover img { transform: scale(1.05); transition: transform .3s; }

/* Before/After slider */
.pb-before-after { cursor: ew-resize; user-select: none; }

/* Lightbox overlay */
.pb-lightbox {
    position: fixed; inset: 0; background: rgba(0,0,0,.9); z-index: 10000;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s; cursor: zoom-out;
}
.pb-lightbox.active { opacity: 1; }
.pb-lightbox img {
    max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 8px;
    transform: scale(.95); transition: transform .3s;
}
.pb-lightbox.active img { transform: scale(1); }
.pb-lightbox .lb-close {
    position: absolute; top: 16px; right: 20px; color: #fff; font-size: 32px;
    cursor: pointer; background: none; border: none; line-height: 1;
}
.pb-lightbox .lb-nav {
    position: absolute; top: 50%; transform: translateY(-50%); color: #fff;
    font-size: 36px; cursor: pointer; background: rgba(255,255,255,.15);
    border: none; border-radius: 50%; width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
}
.pb-lightbox .lb-prev { left: 16px; }
.pb-lightbox .lb-next { right: 16px; }
.pb-lightbox .lb-nav:hover { background: rgba(255,255,255,.3); }

/* Counter animation */
.pb-counter-num { transition: all .6s ease-out; }

/* Responsive blocks */
@media (max-width: 768px) {
    .pb-text-image { grid-template-columns: 1fr !important; }
    .pb-text-image > div { order: unset !important; }
    .pb-columns { grid-template-columns: 1fr !important; }
}
