/* Page Builder – frontend styly komponentov (Bootstrap 5 rozsirenia) */

/* sirka obsahu bloku */
.pb-w-narrow { max-width: 46rem !important; margin-left: auto !important; margin-right: auto !important; }
.pb-w-medium { max-width: 64rem !important; margin-left: auto !important; margin-right: auto !important; }

/* sekcia: pozadie, prekrytie, minimalna vyska */
.pagebuilder-section { position: relative; }
.pagebuilder-section.pb-has-bg { background-image: var(--pb-bg-image); background-size: cover; background-position: center; }
.pagebuilder-section.pb-overlay-dark::before,
.pagebuilder-section.pb-overlay-light::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.pagebuilder-section.pb-overlay-dark::before { background: rgba(0, 0, 0, .5); }
.pagebuilder-section.pb-overlay-light::before { background: rgba(255, 255, 255, .65); }
.pagebuilder-section.pb-overlay-dark { color: #fff; }
.pagebuilder-section > .pagebuilder-section__inner { position: relative; width: 100%; }
.pb-minh-50 { min-height: 50vh; }
.pb-minh-75 { min-height: 75vh; }
.pb-minh-100 { min-height: 100vh; }

/* mriezka: polozky rovnakej vysky */
.pagebuilder-grid > .col > .frame,
.pagebuilder-grid > .col > .frame > .pagebuilder-card { height: 100%; }

/* oddelovac a medzera */
.pb-divider-short { width: 4rem; margin-left: auto; margin-right: auto; border-top-width: 3px; }
.pb-space-1 { height: .5rem; }
.pb-space-2 { height: 1rem; }
.pb-space-3 { height: 2rem; }
.pb-space-4 { height: 3rem; }
.pb-space-5 { height: 5rem; }

/* ikona + text */
.pagebuilder-icon { position: relative; }
.pb-icon { display: inline-block; line-height: 1; }
.pb-icon-sm { font-size: 1.5rem; }
.pb-icon-md { font-size: 2.5rem; }
.pb-icon-lg { font-size: 3.75rem; }
.pagebuilder-icon.d-flex .pagebuilder-icon__body > h3:first-child { margin-top: 0 !important; }

/* panely */
.pagebuilder-carousel .carousel-item { padding: 0 0 2.5rem; }
.pagebuilder-carousel .carousel-item > .frame { padding-left: 3rem; padding-right: 3rem; }
@media (hover: hover) and (pointer: fine) {
  .pagebuilder-carousel .carousel-inner { cursor: grab; }
}
.pagebuilder-carousel--dragging, .pagebuilder-carousel--dragging * { cursor: grabbing !important; user-select: none; }
/* tahanie (frontend.js): vodorovne gesta pre karusel, zvisle posuvaju stranku; sused pocas tahania viditelny */
.pagebuilder-carousel { touch-action: pan-y; }
.pagebuilder-carousel .carousel-item.pagebuilder-carousel__peek { display: block; }
.pagebuilder-tabs .tab-content > .tab-pane > .frame:first-child { margin-top: 0; }

/* karta: obrazok v jednotnom pomere (atribut height z f:image by ho inak roztiahol) */
.pagebuilder-card .card-img-top { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* parallax: obrazok pozadia pevny voci oknu; na dotykovych zariadeniach (iOS nepodporuje fixed) bez efektu */
.pagebuilder-section.pb-parallax { background-attachment: fixed; }
@media (hover: none), (prefers-reduced-motion: reduce) {
    .pagebuilder-section.pb-parallax { background-attachment: scroll; }
}
