/* Loaded after Bootstrap to allow per-site overrides (stored theme will be injected inline). */

.pz-shell {
  min-height: 100vh;
}

/* Square thumbnails for gallery tiles (crop without distortion) */
.pz-thumb {
  width: 100%;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Sidebar internal gutters so nav/buttons don't touch edges */
.pz-sidebar .offcanvas-body {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.pz-sidebar .offcanvas-header {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 992px) {
  .pz-shell {
    display: flex;
    align-items: stretch;
  }

  .pz-sidebar {
    width: 300px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: auto;
    background: var(--bs-body-bg);
  }

  .pz-sidebar .offcanvas-body {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .pz-main {
    min-width: 0;
  }
}

.pz-main-inner {
  padding: 1.25rem;
}

@media (min-width: 992px) {
  .pz-main-inner {
    padding: 2.25rem;
  }
}

.pz-avatar {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color);
}

.pz-avatar-img {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--bs-border-color);
}

.pz-home-media {
  min-height: 320px;
}

.pz-home-media-img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 640px;
  object-fit: cover;
}

.pz-cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030; /* below bootstrap modals (1050) */
}
