.pg-gallery, .pg-photo-detail, .pg-submit-page {
  --pg-primary: var(--mv-primary, var(--bs-primary, #374151));
  --pg-primary-dark: var(--mv-secondary, var(--bs-emphasis-color, #1f2937));
  --pg-surface: var(--mv-surface, var(--bs-body-bg, #fff));
  --pg-text: var(--mv-text, var(--bs-body-color, #242b36));
  --pg-text-muted: var(--mv-muted, #647080);
  --pg-border: color-mix(in srgb, var(--pg-text) 15%, var(--pg-surface));
  --pg-soft: color-mix(in srgb, var(--pg-primary) 5%, var(--pg-surface));
  --pg-radius: 16px;
  --pg-shadow: 0 16px 36px rgb(0 0 0 / .08);
  color: var(--pg-text);
  font-family: var(--mv-body-font, inherit);
  container-type: inline-size;
}

.pg-child-albums {
  margin-block: 1.5rem 2rem;
}

.pg-album-slideshow {
  width: min(96vw, 1500px);
  height: min(94vh, 960px);
  padding: 0;
  border: 0;
  border-radius: 1.25rem;
  overflow: hidden;
  color: var(--pg-text);
  background: var(--pg-surface, #fff);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .34);
}

.pg-album-slideshow::backdrop {
  background: rgba(5, 12, 20, .88);
  backdrop-filter: blur(8px);
}

.pg-slideshow-toolbar {
  min-height: 4rem;
  padding: .75rem 1.1rem;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.pg-slideshow-toolbar button,
.pg-slideshow-nav {
  border: 0;
  border-radius: 999px;
  width: 2.75rem;
  height: 2.75rem;
  color: inherit;
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.pg-slideshow-stage {
  position: relative;
  height: calc(100% - 4rem);
}

.pg-album-slide {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr);
}

.pg-album-slide[hidden] { display: none; }

.pg-slide-image {
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 1.25rem 4.25rem;
  background: #090d12;
}

.pg-slide-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.pg-slide-details {
  overflow: auto;
  padding: 2rem 1.75rem;
}

.pg-slide-details h2 { margin-top: 0; }
.pg-slide-description { margin-block: 1rem 1.5rem; line-height: 1.7; }
.pg-slide-details dl { display: grid; gap: .7rem; }
.pg-slide-details dl > div { display: grid; grid-template-columns: 8rem 1fr; gap: .75rem; }
.pg-slide-details dt { font-weight: 700; }
.pg-slide-details dd { margin: 0; }

.pg-slide-maaveerar {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.pg-slide-maaveerar h3 { font-size: 1rem; }
.pg-slide-maaveerar a { display: block; margin-top: .65rem; line-height: 1.5; }
.pg-slide-detail-link { display: inline-block; margin-top: 1.5rem; font-weight: 700; }

.pg-slideshow-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: #fff;
  background: rgba(0, 0, 0, .55);
}

.pg-slideshow-prev { left: .75rem; }
.pg-slideshow-next { right: calc(min(30%, 420px) + .75rem); }

@media (max-width: 900px) {
  .pg-album-slideshow { width: 100vw; height: 100dvh; max-width: none; max-height: none; border-radius: 0; }
  .pg-album-slide { grid-template-columns: 1fr; grid-template-rows: minmax(42vh, 58%) 1fr; }
  .pg-slide-image { padding: 1rem 3.75rem; }
  .pg-slide-details { padding: 1.25rem; }
  .pg-slideshow-next { right: .75rem; }
}

.pg-gallery,
.pg-photo-detail,
.pg-submit-page {
  margin-inline: auto;
  max-width: 1500px;
}

.pg-page-header,
.pg-detail-header {
  align-items: flex-start;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.pg-page-header h1,
.pg-detail-header h1 {
  margin: 0 0 .4rem;
}

.pg-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.pg-page-description {
  color: var(--pg-text-muted);
  max-width: 850px;
}

.pg-album-browser {
  margin-bottom: 1.25rem;
}

.pg-album-browser h2 {
  font-size: 1.15rem;
  margin: 0 0 .7rem;
}

.pg-album-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.pg-album-card {
  background: var(--pg-surface);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  color: inherit;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  overflow: hidden;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.pg-album-card:hover,
.pg-album-card:focus-visible {
  border-color: var(--pg-primary);
  box-shadow: 0 5px 18px rgba(30, 54, 80, .09);
}

.pg-album-card img {
  background: var(--pg-soft);
  height: 74px;
  object-fit: cover;
  width: 74px;
}

.pg-album-card > span {
  align-self: center;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .55rem .7rem;
}

.pg-album-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pg-album-card small {
  color: var(--pg-text-muted);
  margin-top: .2rem;
}

.pg-back {
  margin-bottom: 1rem;
}

.pg-back a,
.pg-album-link {
  align-items: center;
  display: inline-flex;
  gap: .4rem;
  text-decoration: none;
}

.pg-filters {
  align-items: center;
  background: var(--pg-soft);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  display: grid;
  gap: .65rem;
  grid-template-columns: minmax(190px, 2fr) repeat(4, minmax(135px, 1fr)) auto auto;
  margin-bottom: 1rem;
  padding: .85rem;
}

.pg-filters .form-control,
.pg-filters .form-select {
  min-height: 42px;
}

.pg-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 1.25rem;
}

.pg-tag {
  background: var(--pg-surface);
  border: 1px solid var(--pg-border);
  border-radius: 999px;
  color: var(--pg-primary-dark);
  font-size: .86rem;
  padding: .28rem .7rem;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}

.pg-tag span {
  color: var(--pg-text-muted);
  font-size: .75rem;
  margin-inline-start: .2rem;
}

.pg-tag:hover,
.pg-tag:focus-visible,
.pg-tag.active {
  background: var(--pg-primary);
  border-color: var(--pg-primary);
  color: #fff;
}

.pg-tag.active span,
.pg-tag:hover span {
  color: inherit;
}

.pg-photo-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--pg-columns, 4), minmax(0, 1fr));
}

.pg-layout-masonry {
  display: block;
  column-count: var(--pg-columns, 4);
  column-gap: 1rem;
}

.pg-layout-masonry .pg-card {
  break-inside: avoid;
  margin-bottom: 1rem;
}

.pg-card {
  background: var(--pg-surface);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  box-shadow: 0 3px 12px rgba(30, 54, 80, .05);
  overflow: hidden;
  transition: box-shadow .18s ease, transform .18s ease;
}

.pg-card:hover,
.pg-card:focus-within {
  box-shadow: var(--pg-shadow);
  transform: translateY(-2px);
}

.pg-card-media {
  background: var(--pg-soft);
  overflow: hidden;
  position: relative;
}

.pg-card-media > img {
  aspect-ratio: 4 / 3;
  display: block;
  height: auto;
  object-fit: cover;
  transition: transform .25s ease;
  width: 100%;
}

.pg-layout-masonry .pg-card-media > img {
  aspect-ratio: auto;
}

.pg-card:hover .pg-card-media > img {
  transform: scale(1.025);
}

.pg-lightbox-button {
  align-items: center;
  background: rgba(0, 0, 0, .62);
  border: 0;
  border-radius: 50%;
  bottom: .65rem;
  color: #fff;
  display: flex;
  height: 38px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: .65rem;
  transition: opacity .15s ease;
  width: 38px;
}

.pg-card:hover .pg-lightbox-button,
.pg-lightbox-button:focus-visible {
  opacity: 1;
}

.pg-featured {
  align-items: center;
  background: #f6b900;
  border-radius: 50%;
  color: #2b2200;
  display: flex;
  height: 34px;
  justify-content: center;
  left: .65rem;
  position: absolute;
  top: .65rem;
  width: 34px;
}

.pg-card-body {
  padding: .85rem;
}

.pg-card-title {
  font-size: 1rem;
  line-height: 1.35;
  margin: 0 0 .55rem;
}

.pg-card-title a {
  color: inherit;
  text-decoration: none;
}

.pg-card-meta,
.pg-card-stats {
  color: var(--pg-text-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: .78rem;
  gap: .5rem .75rem;
}

.pg-card-stats {
  border-top: 1px solid var(--pg-border);
  margin-top: .65rem;
  padding-top: .55rem;
}

.pg-pagination {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
}

.pg-counter {
  color: var(--pg-text-muted);
  font-size: .85rem;
}

.pg-empty {
  align-items: center;
  background: var(--pg-soft);
  border: 1px dashed #b7c1ca;
  border-radius: var(--pg-radius);
  display: flex;
  flex-direction: column;
  min-height: 300px;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}

.pg-empty > span {
  color: #8a98a6;
  font-size: 3rem;
}

.pg-lightbox {
  background: rgba(6, 10, 16, .96);
  border: 0;
  color: #fff;
  height: 100dvh;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 3.5rem 5rem 2rem;
  width: 100vw;
}

.pg-lightbox::backdrop {
  background: rgba(0, 0, 0, .85);
}

.pg-lightbox figure {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin: 0;
}

.pg-lightbox img {
  max-height: calc(100dvh - 8rem);
  max-width: 100%;
  object-fit: contain;
}

.pg-lightbox figcaption {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: center;
  padding-top: .75rem;
}

.pg-lightbox figcaption a {
  color: #9bcaff;
}

.pg-lightbox-close,
.pg-lightbox-prev,
.pg-lightbox-next {
  align-items: center;
  background: rgba(255, 255, 255, .12);
  border: 0;
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 44px;
  justify-content: center;
  position: absolute;
  width: 44px;
  z-index: 2;
}

.pg-lightbox-close { right: 1rem; top: 1rem; }
.pg-lightbox-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.pg-lightbox-next { right: 1rem; top: 50%; transform: translateY(-50%); }

.pg-count-badge {
  background: var(--pg-primary);
  border-radius: 999px;
  color: #fff;
  padding: .4rem .8rem;
}

.pg-detail-counts {
  color: var(--pg-text-muted);
  display: flex;
  gap: 1rem;
}

.pg-detail-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

.pg-hero-image {
  background: #111;
  border-radius: var(--pg-radius);
  margin: 0;
  overflow: hidden;
}

.pg-hero-image img {
  display: block;
  height: auto;
  max-height: 82vh;
  object-fit: contain;
  width: 100%;
}

.pg-description {
  font-size: 1.04rem;
  line-height: 1.75;
  padding: 1.25rem 0 .5rem;
}

.pg-share-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.pg-detail-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pg-info-panel,
.pg-rating-form,
.pg-comments,
.pg-form-panel {
  background: var(--pg-surface);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  padding: 1rem;
}

.pg-info-panel h2,
.pg-rating-form legend {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 .8rem;
}

.pg-info-panel dl {
  margin: 0;
}

.pg-info-panel dl > div {
  border-bottom: 1px solid var(--pg-border);
  display: grid;
  gap: .5rem;
  grid-template-columns: 42% 1fr;
  padding: .48rem 0;
}

.pg-info-panel dl > div:last-child {
  border: 0;
}

.pg-info-panel dt {
  color: var(--pg-text-muted);
  font-weight: 500;
}

.pg-info-panel dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.pg-related-record {
  align-items: center;
  display: flex;
  gap: .5rem;
  padding: .4rem 0;
  text-decoration: none;
}

.pg-rating-form fieldset {
  margin: 0 0 .6rem;
}

.pg-stars {
  display: inline-flex;
  flex-direction: row-reverse;
}

.pg-stars input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.pg-stars label {
  color: #bac2ca;
  cursor: pointer;
  font-size: 1.75rem;
  line-height: 1;
  padding: .1rem;
}

.pg-stars input:checked ~ label,
.pg-stars label:hover,
.pg-stars label:hover ~ label {
  color: #f0b400;
}

.pg-stars input:focus-visible + label {
  outline: 2px solid var(--pg-primary);
}

.pg-comments {
  margin-top: 2rem;
}

.pg-comments h2 {
  font-size: 1.35rem;
}

.pg-comments h2 span {
  background: var(--pg-soft);
  border-radius: 999px;
  font-size: .8rem;
  padding: .2rem .5rem;
}

.pg-comments ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pg-comments li {
  border-bottom: 1px solid #e9edf0;
  padding: 1rem 0;
}

.pg-comments li header {
  align-items: center;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
}

.pg-comments time {
  color: var(--pg-text-muted);
  font-size: .8rem;
}

.pg-comment-form {
  margin-top: 1rem;
}

.pg-comment-form label {
  display: block;
  font-weight: 600;
  margin-bottom: .4rem;
}

.pg-comment-form button {
  margin-top: .65rem;
}

.pg-related-photos {
  margin-top: 2rem;
}

.pg-related-photos h2 {
  font-size: 1.35rem;
  margin-bottom: 1rem;
}

.pg-submit-form {
  background: var(--pg-soft);
  border-radius: var(--pg-radius);
  padding: 1rem;
}

.pg-form-panel {
  height: 100%;
}

.pg-form-panel .control-group {
  margin-bottom: 1rem;
}

.pg-drop-zone {
  align-items: center;
  background: #f7faff;
  border: 2px dashed #8cb2dc;
  border-radius: var(--pg-radius);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 220px;
  padding: 1rem;
  text-align: center;
}

.pg-drop-zone.is-dragging {
  background: #e7f2ff;
  border-color: var(--pg-primary);
}

.pg-drop-icon {
  color: var(--pg-primary);
  font-size: 2.5rem;
}

.pg-upload-preview {
  margin-top: .75rem;
}

.pg-upload-preview-item img {
  border-radius: 7px;
  max-height: 180px;
  object-fit: contain;
  width: 100%;
}

.pg-upload-preview-item span {
  display: block;
  font-size: .8rem;
  margin-top: .35rem;
}

@media (max-width: 1200px) {
  .pg-filters {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .pg-filter-search {
    grid-column: span 2;
  }

  .pg-photo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pg-layout-masonry {
    column-count: 3;
  }
}

@media (max-width: 900px) {
  .pg-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pg-layout-masonry {
    column-count: 2;
  }

  .pg-detail-grid {
    grid-template-columns: 1fr;
  }

  .pg-detail-sidebar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .pg-page-header,
  .pg-detail-header {
    flex-direction: column;
  }

  .pg-filters {
    grid-template-columns: 1fr;
  }

  .pg-filter-search {
    grid-column: auto;
  }

  .pg-photo-grid {
    grid-template-columns: 1fr;
  }

  .pg-layout-masonry {
    column-count: 1;
  }

  .pg-detail-sidebar {
    display: flex;
  }

  .pg-lightbox {
    padding: 3.5rem 1rem 1rem;
  }

  .pg-lightbox-prev,
  .pg-lightbox-next {
    bottom: 1rem;
    top: auto;
    transform: none;
  }

  .pg-card-stats,
  .pg-card-meta {
    font-size: .82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pg-card,
  .pg-card-media > img,
  .pg-lightbox-button {
    transition: none;
  }
}
.pg-smart-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem}.pg-smart-card{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;padding:1rem 1.1rem;border:1px solid #dfe4ea;border-radius:14px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 5px 20px rgba(25,40,70,.05)}.pg-smart-card>span{grid-row:1/3;font-size:1.6rem;color:#1862b4}.pg-smart-card strong,.pg-smart-card small{display:block}.pg-smart-card small{color:#667085}.pg-smart-card:hover,.pg-smart-card.active{border-color:#1862b4;box-shadow:0 8px 28px rgba(24,98,180,.14)}.pg-soldiers .pg-related-record{font-weight:600}.pg-comment-form small{display:block;margin-top:.5rem;color:#667085}@media(max-width:800px){.pg-smart-collections{grid-template-columns:1fr}}
.pg-portrait-folders{margin:0 0 1.5rem;padding:1.1rem;border:1px solid #e1e6ec;border-radius:14px;background:#f8fafc}.pg-portrait-folders h2,.pg-portrait-folders h3{margin:.25rem 0 .8rem}.pg-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-bottom:1.2rem}.pg-folder{display:grid;grid-template-columns:auto 1fr;gap:.15rem .65rem;align-items:center;padding:.8rem;border-radius:10px;background:#fff;border:1px solid #e3e7ed;text-decoration:none;color:#172033}.pg-folder>span{grid-row:1/3;color:#d99a00;font-size:1.35rem}.pg-folder strong,.pg-folder small{display:block}.pg-folder small{color:#667085}

/* Preset-aware photography presentation. All rules stay inside the component. */
.pg-gallery, .pg-photo-detail, .pg-submit-page { max-width:1440px; padding-block:16px 40px; min-width:0; }
.pg-gallery *, .pg-photo-detail *, .pg-submit-page * { box-sizing:border-box; }
.pg-gallery :is(h1,h2,h3), .pg-photo-detail :is(h1,h2,h3), .pg-submit-page :is(h1,h2,h3) { font-family:var(--mv-heading-font,"Anek Tamil",sans-serif); font-weight:700; color:var(--pg-primary-dark); overflow-wrap:anywhere; }
.pg-page-header, .pg-detail-header { padding:12px 0 28px; border-bottom:1px solid var(--pg-border); margin-bottom:28px; align-items:center; }
.pg-page-header h1, .pg-detail-header h1 { font-size:clamp(1.8rem,4vw,3rem); line-height:1.3; letter-spacing:-.025em; }
.pg-page-description { line-height:1.9; max-width:70ch; margin-top:12px; }
.pg-page-description > :last-child { margin-bottom:0; }
.pg-gallery .btn, .pg-photo-detail .btn { border-radius:10px; min-height:44px; padding:10px 16px; font:inherit; font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; }
.pg-gallery .btn-primary, .pg-photo-detail .btn-primary { background:var(--pg-primary); border-color:var(--pg-primary); color:#fff; }
.pg-gallery .btn-primary:hover, .pg-photo-detail .btn-primary:hover { background:var(--pg-primary-dark); border-color:var(--pg-primary-dark); }
.pg-gallery [class*="btn-outline-"], .pg-photo-detail [class*="btn-outline-"] { color:var(--pg-primary); border:1px solid var(--pg-border); background:var(--pg-surface); }
.pg-gallery [class*="btn-outline-"]:hover, .pg-photo-detail [class*="btn-outline-"]:hover { background:var(--pg-soft); border-color:var(--pg-primary); }
.pg-smart-collections { gap:16px; margin-bottom:32px; }
.pg-smart-card { background:var(--pg-soft); color:var(--pg-text); border-color:var(--pg-border); box-shadow:none; padding:22px; border-radius:var(--pg-radius); transition:background .2s,border-color .2s; }
.pg-smart-card > span { color:var(--pg-primary); background:var(--pg-surface); width:48px; height:48px; display:grid; place-items:center; border-radius:14px; font-size:1.3rem; }
.pg-smart-card small { color:var(--pg-text-muted); margin-top:5px; line-height:1.6; }
.pg-smart-card:hover, .pg-smart-card.active { border-color:var(--pg-primary); background:var(--pg-surface); box-shadow:none; color:var(--pg-primary); }
.pg-album-browser { margin-bottom:32px; }
.pg-album-browser h2 { font-size:1.25rem; margin-bottom:16px; }
.pg-album-grid { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.pg-album-card { display:block; position:relative; border:0; isolation:isolate; aspect-ratio:16/10; background:var(--pg-primary-dark); color:#fff; }
.pg-album-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.pg-album-card::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(transparent,rgba(0,0,0,.82)); }
.pg-album-card > span { position:absolute; inset:auto 0 0; z-index:1; padding:20px; }
.pg-album-card strong { white-space:normal; line-height:1.5; }
.pg-album-card small { color:#fff; opacity:.85; }
.pg-album-card:hover { color:#fff; }
.pg-album-card:hover img { transform:scale(1.04); }
.pg-filters { display:block; padding:20px; border-radius:var(--pg-radius); background:var(--pg-surface); margin-bottom:20px; }
.pg-search-row { display:flex; align-items:stretch; gap:12px; }
.pg-filter-search { flex:1; min-width:0; }
.pg-filters .form-control, .pg-filters .form-select { width:100%; min-width:0; min-height:48px; border:1px solid var(--pg-border); border-radius:10px; background-color:var(--pg-surface); color:var(--pg-text); font:inherit; padding:10px 14px; }
.pg-filters .form-select { padding-inline-end:36px; }
.pg-filter-panel { margin-top:16px; border-top:1px solid var(--pg-border); padding-top:16px; }
.pg-filter-panel summary { color:var(--pg-primary); cursor:pointer; font-weight:600; width:fit-content; }
.pg-filter-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:18px; padding-top:20px; }
.pg-field-label { display:block; font-size:.82rem; font-weight:600; color:var(--pg-text-muted); margin-bottom:7px; }
.pg-tag-cloud { gap:8px; margin-block:16px 24px; }
.pg-tag { color:var(--pg-text-muted); background:var(--pg-surface); padding:6px 12px; }
.pg-results-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0 18px; }
.pg-results-toolbar p { margin:0; font-weight:600; }
.pg-layout-switch { display:flex; padding:4px; gap:4px; border:1px solid var(--pg-border); border-radius:12px; background:var(--pg-soft); }
.pg-layout-switch[hidden] { display:none; }
.pg-layout-switch button { background:transparent; color:var(--pg-text-muted); border:0; border-radius:8px; padding:9px 14px; font:inherit; font-size:.85rem; cursor:pointer; }
.pg-layout-switch button[aria-pressed=true] { color:var(--pg-primary); background:var(--pg-surface); box-shadow:0 2px 6px #0001; font-weight:700; }
.pg-photo-grid { gap:24px; }
.pg-layout-masonry { column-gap:24px; }
.pg-layout-masonry .pg-card { margin-bottom:24px; }
.pg-card { box-shadow:none; border-color:var(--pg-border); background:var(--pg-surface); }
.pg-card-image-link { display:block; }
.pg-card-image-link img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .3s; }
.pg-layout-masonry .pg-card-image-link img { aspect-ratio:auto; }
.pg-card:hover .pg-card-image-link img { transform:scale(1.035); }
.pg-card-body { padding:18px; }
.pg-card-title { font-size:1.05rem; line-height:1.65; margin:0 0 8px; }
.pg-card-meta { gap:6px 12px; line-height:1.6; }
.pg-card-stats:empty { display:none; }
.pg-lightbox-button { opacity:1; width:44px; height:44px; border:1px solid #ffffff60; cursor:pointer; }
.pg-featured { background:var(--mv-accent,var(--pg-primary)); color:#fff; pointer-events:none; }
.pg-portrait-folders { background:var(--pg-soft); border-color:var(--pg-border); padding:24px; }
.pg-folder { color:var(--pg-text); background:var(--pg-surface); border-color:var(--pg-border); }
.pg-folder > span { color:var(--pg-primary); }
.pg-folder small { color:var(--pg-text-muted); }
.pg-detail-grid { gap:32px; grid-template-columns:minmax(0,1fr) minmax(260px,320px); }
.pg-detail-main { min-width:0; }
.pg-hero-image { background:color-mix(in srgb,var(--pg-primary-dark) 12%,var(--pg-surface)); padding:16px; }
.pg-share-row { margin-block:22px; }
.pg-info-panel, .pg-rating-form, .pg-comments { padding:24px; background:var(--pg-surface); }
.pg-info-panel h2 { padding-bottom:14px; border-bottom:1px solid var(--pg-border); }
.pg-related-record { color:var(--pg-primary); padding:12px 0; line-height:1.7; overflow-wrap:anywhere; }
.pg-pagination .page-link { color:var(--pg-primary); background:var(--pg-surface); border-color:var(--pg-border); border-radius:8px; margin:3px; }
.pg-pagination .active .page-link { color:#fff; background:var(--pg-primary); border-color:var(--pg-primary); }
.pg-empty { border-color:var(--pg-border); }
.pg-gallery :is(a,button,input,select,summary):focus-visible, .pg-photo-detail :is(a,button,input,textarea):focus-visible { outline:3px solid var(--pg-primary); outline-offset:4px; }
.pg-lightbox figcaption { flex-wrap:wrap; text-align:center; }
.pg-lightbox figcaption a { color:#fff; text-underline-offset:4px; }
@container (max-width: 850px) {
 .pg-smart-collections { grid-template-columns:1fr; }
 .pg-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pg-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pg-layout-masonry { column-count:2; }
 .pg-detail-grid { grid-template-columns:1fr; }
}
@container (max-width: 480px) {
 .pg-filter-fields { grid-template-columns:1fr; }
 .pg-search-row { flex-direction:column; }
 .pg-photo-grid { grid-template-columns:1fr; }
 .pg-layout-masonry { column-count:1; }
 .pg-album-grid { grid-template-columns:1fr; }
 .pg-results-toolbar { flex-wrap:wrap; }
 .pg-filters { padding:16px; }
}
@media (prefers-reduced-motion:reduce) {
 .pg-gallery *, .pg-photo-detail * { transition:none!important; scroll-behavior:auto!important; }
}

/* 1.0.9: distinct canvas, editorial masthead and elevated photographic surfaces. */
.pg-gallery, .pg-photo-detail {
  --pg-canvas: color-mix(in srgb, var(--pg-primary) 9%, var(--pg-surface));
  --pg-hero: color-mix(in srgb, var(--pg-primary) 42%, #111820);
  background: var(--pg-canvas);
  padding: clamp(14px, 2.5vw, 36px);
  border: 1px solid var(--pg-border);
  border-radius: 24px;
  margin-block: 18px 40px;
}
.pg-gallery .pg-page-header, .pg-photo-detail .pg-detail-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(26px, 4vw, 56px);
  min-height: 230px;
  margin-bottom: 28px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(115deg, var(--pg-hero), color-mix(in srgb, var(--pg-primary) 65%, #172029));
  color: #fff;
  box-shadow: 0 14px 32px rgb(0 0 0 / .12);
}
.pg-page-header::after, .pg-detail-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 380px;
  height: 380px;
  inset-inline-end: -120px;
  top: -180px;
  border: 1px solid #ffffff24;
  border-radius: 50%;
  box-shadow: 0 0 0 45px #ffffff05, 0 0 0 90px #ffffff05, 0 0 0 135px #ffffff05;
  pointer-events: none;
}
.pg-header-copy { min-width: 0; }
.pg-header-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .03em;
  color: #ffffffe0;
  margin-bottom: 18px;
}
.pg-gallery .pg-page-header h1, .pg-photo-detail .pg-detail-header h1 {
  color: #fff;
  font-size: clamp(1.8rem, 3.8vw, 3.3rem);
  line-height: 1.45;
  margin: 0;
}
.pg-page-header .pg-page-description, .pg-detail-header .pg-detail-counts,
.pg-detail-header .pg-album-link { color: #ffffffde; }
.pg-header-total {
  display: inline-flex;
  margin-top: 20px;
  border: 1px solid #ffffff40;
  border-radius: 999px;
  padding: 7px 14px;
  color: #fff;
  background: #ffffff0d;
  font-size: .82rem;
}
.pg-gallery .pg-page-header .btn { background: #fff; color: var(--pg-hero); border-color: #fff; }
.pg-gallery .pg-page-header .btn:hover { background: #e9edf0; color: var(--pg-hero); }
.pg-smart-collections { gap: 18px; margin-bottom: 32px; }
.pg-smart-card {
  background: var(--pg-surface);
  padding: 24px;
  border: 1px solid var(--pg-border);
  border-bottom: 3px solid color-mix(in srgb, var(--pg-primary) 55%, var(--pg-surface));
  box-shadow: 0 5px 14px rgb(0 0 0 / .035);
}
.pg-smart-card > span { background: var(--pg-soft); border: 1px solid var(--pg-border); }
.pg-smart-card:hover, .pg-smart-card.active {
  background: var(--pg-surface);
  box-shadow: 0 10px 24px rgb(0 0 0 / .08);
  border-color: var(--pg-primary);
}
.pg-album-browser {
  background: var(--pg-surface);
  border: 1px solid var(--pg-border);
  border-radius: 18px;
  padding: clamp(18px, 2vw, 28px);
}
.pg-album-browser h2 { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.pg-album-browser h2::before { content: ""; width: 4px; height: 24px; border-radius: 2px; background: var(--pg-primary); }
.pg-album-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 20px; }
.pg-album-card { aspect-ratio: 3 / 2; box-shadow: 0 6px 18px #00000012; }
.pg-album-card > span { padding: 22px; }
.pg-album-card strong { font-size: 1.1rem; }
.pg-album-card small { display: inline-block; margin-top: 6px; }
.pg-filters { border: 1px solid var(--pg-border); box-shadow: 0 6px 22px #00000005; padding: 24px; }
.pg-filters .form-control, .pg-filters .form-select { background-color: var(--pg-soft); }
.pg-filter-panel summary { padding-block: 4px; }
.pg-results-toolbar { border-top: 1px solid var(--pg-border); padding-top: 24px; margin-top: 28px; }
.pg-results-toolbar > p { color: var(--pg-primary-dark); font-size: 1.1rem; }
.pg-layout-switch { background: var(--pg-surface); }
.pg-layout-switch button[aria-pressed=true] { background: var(--pg-primary); color: #fff; box-shadow: none; }
.pg-card {
  border: 1px solid var(--pg-border);
  border-radius: 14px;
  box-shadow: 0 5px 16px rgb(0 0 0 / .055);
}
.pg-card:hover, .pg-card:focus-within { box-shadow: 0 16px 32px rgb(0 0 0 / .12); }
.pg-card-body { padding: 20px; border-top: 3px solid var(--pg-soft); }
.pg-card-title a:hover { color: var(--pg-primary); }
.pg-card-media { background: color-mix(in srgb, var(--pg-primary) 12%, var(--pg-surface)); }
.pg-lightbox-button { background: #ffffffed; color: #18222c; box-shadow: 0 3px 12px #0002; }
.pg-lightbox-button:hover { background: var(--pg-primary); color: #fff; }
.pg-detail-main .pg-hero-image { padding: clamp(10px, 2vw, 24px); background: #15191e; box-shadow: var(--pg-shadow); }
.pg-info-panel, .pg-rating-form, .pg-comments { box-shadow: 0 5px 20px #00000005; }
.pg-description { padding: 24px; background: var(--pg-surface); border-radius: 14px; margin-top: 20px; }
.pg-empty { background: var(--pg-surface); }
.pg-pagination { padding-top: 10px; }
.pg-gallery .pg-page-header :is(a,button):focus-visible,
.pg-photo-detail .pg-detail-header a:focus-visible { outline-color: #fff; }
@container (max-width: 650px) {
  .pg-page-header, .pg-detail-header { flex-direction: column; align-items: flex-start; gap: 24px; }
  .pg-smart-card { padding: 20px; }
  .pg-album-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .pg-album-card > span { padding: 14px; }
  .pg-album-card strong { font-size: .95rem; }
}
@container (max-width: 400px) {
  .pg-album-grid { grid-template-columns: 1fr; }
  .pg-page-actions, .pg-page-actions .btn { width: 100%; }
  .pg-filters, .pg-info-panel, .pg-comments { padding: 16px; }
}
@media (max-width: 600px) {
  .pg-gallery, .pg-photo-detail { padding: 12px; border-radius: 16px; }
}

/* 1.0.12: self-contained icons, detailed lightbox, refined slideshow and photo navigation. */
.pg-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.15em;
  height: 1.15em;
  vertical-align: -.18em;
}

.pg-gallery :is(.btn, button),
.pg-photo-detail :is(.btn, button),
.pg-back a,
.pg-album-link,
.pg-related-record {
  align-items: center;
  gap: .48rem;
}

.pg-gallery :is(.btn, button),
.pg-photo-detail :is(.btn, button) {
  display: inline-flex;
  justify-content: center;
}

.pg-card-description {
  color: var(--pg-text-muted);
  font-size: .92rem;
  line-height: 1.65;
  margin: .8rem 0 0;
}

.pg-card-share {
  display: inline-flex;
  margin-top: 1rem;
  padding: .5rem .75rem;
  border: 1px solid var(--pg-border);
  border-radius: 999px;
  color: var(--pg-primary);
  background: var(--pg-soft);
  font-size: .85rem;
  font-weight: 700;
}

.pg-lightbox {
  padding: 0;
  overflow: hidden;
  background: #0a0e13;
}

.pg-lightbox-toolbar {
  position: absolute;
  z-index: 5;
  inset: 0 0 auto 0;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding: .65rem 1rem;
  color: #fff;
  background: linear-gradient(to bottom, rgba(0, 0, 0, .75), transparent);
  pointer-events: none;
}

.pg-lightbox-toolbar > * { pointer-events: auto; }

.pg-lightbox figure {
  display: block;
  height: 100dvh;
  margin: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.pg-lightbox-image-stage {
  min-height: min(74dvh, 820px);
  display: grid;
  place-items: center;
  padding: 4.5rem 5rem 2rem;
  background: radial-gradient(circle at center, #202a34 0, #0a0e13 68%);
}

.pg-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(68dvh, 760px);
  object-fit: contain;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .35));
}

.pg-lightbox figcaption {
  display: block;
  padding: clamp(1.5rem, 4vw, 3.5rem) max(1.25rem, calc((100vw - 1120px) / 2));
  color: var(--pg-text, #202833);
  background: var(--pg-surface, #fff);
  text-align: start;
}

.pg-lightbox figcaption h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(1.45rem, 2.7vw, 2.35rem);
  line-height: 1.4;
}

.pg-lightbox-description {
  margin: 1rem 0 1.5rem;
  color: var(--pg-text-muted, #667085);
  font-size: 1rem;
  line-height: 1.8;
}

.pg-lightbox-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 2rem;
  margin: 1.5rem 0;
}

.pg-lightbox-meta > div {
  display: grid;
  grid-template-columns: minmax(7rem, 35%) 1fr;
  gap: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--pg-border, #dfe4ea);
}

.pg-lightbox-meta dt { color: var(--pg-text-muted, #667085); font-weight: 600; }
.pg-lightbox-meta dd { margin: 0; }

.pg-lightbox-maaveerar {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--pg-border, #dfe4ea);
  border-radius: 14px;
  background: var(--pg-soft, #f6f8fa);
}

.pg-lightbox-maaveerar h3 { margin: 0 0 .75rem; font-size: 1.05rem; }
.pg-lightbox-maaveerar a { display: block; margin-top: .55rem; color: var(--pg-primary, #275d4a); line-height: 1.6; }
.pg-lightbox-share { margin-bottom: 0; }

.pg-lightbox-close,
.pg-lightbox-prev,
.pg-lightbox-next {
  display: inline-flex;
  cursor: pointer;
}

.pg-lightbox-close { position: static; }
.pg-lightbox-prev,
.pg-lightbox-next {
  position: fixed;
  top: 37dvh;
  width: 3.25rem;
  height: 3.25rem;
  background: rgba(7, 11, 16, .66);
  border: 1px solid rgba(255, 255, 255, .34);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}
.pg-lightbox-prev { left: 1rem; transform: translateY(-50%); }
.pg-lightbox-next { right: 1rem; transform: translateY(-50%); }

.pg-album-slideshow {
  width: min(96vw, 1440px);
  height: 96dvh;
  max-width: none;
  max-height: none;
  border-radius: 20px;
  background: var(--pg-surface, #fff);
}

.pg-album-slideshow[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.pg-slideshow-toolbar {
  min-height: 4.6rem;
  padding: .7rem 1rem .7rem 1.4rem;
  color: #fff;
  background: linear-gradient(105deg, var(--pg-primary-dark, #1f2937), var(--pg-primary, #374151));
  border: 0;
}

.pg-slideshow-toolbar > div { min-width: 0; }
.pg-slideshow-toolbar small { display: block; opacity: .72; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.pg-slideshow-toolbar strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pg-slide-counter { min-width: 4.5rem; text-align: center; font-variant-numeric: tabular-nums; }
.pg-slideshow-toolbar button { color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .2); cursor: pointer; }

.pg-slideshow-stage {
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: #0a0e13;
}

.pg-album-slide {
  display: block;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--pg-surface, #fff);
}

.pg-album-slide[hidden] { display: none; }

.pg-slide-image {
  min-height: 62dvh;
  height: 62dvh;
  padding: 1.5rem 5rem;
  background: radial-gradient(circle at center, #26313c 0, #090d12 70%);
}

.pg-slide-image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .38));
}

.pg-slide-details {
  max-width: 1160px;
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  overflow: visible;
}

.pg-slide-details header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.pg-slide-details h2 { flex: 1; margin: 0; font-size: clamp(1.45rem, 2.7vw, 2.3rem); line-height: 1.45; }
.pg-slide-number { flex: 0 0 auto; padding: .35rem .65rem; border-radius: 999px; color: var(--pg-primary); background: var(--pg-soft); font-size: .78rem; font-weight: 700; }
.pg-slide-description { margin: 1.25rem 0 1.75rem; padding: 0; font-size: 1.02rem; line-height: 1.85; }

.pg-slide-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.pg-slide-panel {
  padding: 1.25rem;
  border: 1px solid var(--pg-border);
  border-radius: 16px;
  background: var(--pg-soft);
}

.pg-slide-panel h3 { margin: 0 0 1rem; font-size: 1rem; }
.pg-slide-panel dl { margin: 0; }
.pg-slide-panel dl > div { display: grid; grid-template-columns: 40% 1fr; gap: .75rem; padding: .45rem 0; border-bottom: 1px solid var(--pg-border); }
.pg-slide-panel dl > div:last-child { border: 0; }
.pg-slide-panel dt { color: var(--pg-text-muted); font-weight: 600; }
.pg-slide-panel dd { margin: 0; }
.pg-slide-maaveerar { margin-top: 0; border-top: 1px solid var(--pg-border); }
.pg-slide-maaveerar a { display: flex; align-items: flex-start; gap: .5rem; margin-top: .75rem; line-height: 1.65; }
.pg-slide-share { margin: 1.5rem 0 0; }

.pg-slideshow-nav {
  top: 31dvh;
  width: 3.25rem;
  height: 3.25rem;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .3);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}
.pg-slideshow-next { right: 1rem; }
.pg-slideshow-prev { left: 1rem; }

.pg-slideshow-thumbs {
  display: flex;
  gap: .55rem;
  min-height: 5.2rem;
  padding: .65rem 1rem;
  overflow-x: auto;
  background: #10161d;
  scrollbar-width: thin;
}

.pg-slideshow-thumbs button {
  flex: 0 0 4.4rem;
  width: 4.4rem;
  height: 3.8rem;
  padding: 2px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 8px;
  background: transparent;
  opacity: .62;
  cursor: pointer;
}

.pg-slideshow-thumbs button.active { border-color: #fff; opacity: 1; }
.pg-slideshow-thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }

.pg-photo-detail .pg-hero-image,
.pg-detail-main .pg-hero-image {
  width: 100%;
  padding: 0;
  border-radius: 18px;
  background: #0b0f14;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
}

.pg-photo-detail .pg-hero-image img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.pg-detail-share {
  margin: 1.25rem 0 1.5rem;
  padding: 1.1rem;
  border: 1px solid var(--pg-border);
  border-radius: 14px;
  background: var(--pg-surface);
}

.pg-detail-below {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.pg-detail-below > .pg-description {
  grid-column: 1 / -1;
  margin: 0;
}

.pg-detail-below .pg-info-panel { margin: 0; }
.pg-detail-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.25rem; border: 1px solid var(--pg-border); border-radius: var(--pg-radius); background: var(--pg-surface); }
.pg-detail-actions .pg-tag-cloud { margin: 0; }
.pg-exif-panel { grid-column: 1 / -1; }

.pg-photo-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--pg-border);
}

.pg-photo-nav-item {
  min-height: 6.5rem;
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .75rem;
  border: 1px solid var(--pg-border);
  border-radius: 16px;
  color: inherit;
  background: var(--pg-surface);
  text-decoration: none;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pg-photo-nav-item:hover { transform: translateY(-2px); border-color: var(--pg-primary); box-shadow: 0 12px 26px rgba(0, 0, 0, .1); }
.pg-photo-nav-item img { width: 5.5rem; height: 5rem; border-radius: 10px; object-fit: cover; }
.pg-photo-nav-item span { min-width: 0; }
.pg-photo-nav-item small { display: block; margin-bottom: .3rem; color: var(--pg-text-muted); }
.pg-photo-nav-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pg-photo-nav-next { grid-template-columns: auto minmax(0, 1fr) 5.5rem; text-align: end; }

@media (max-width: 800px) {
  .pg-lightbox-image-stage { min-height: 58dvh; padding: 4rem 3.8rem 1rem; }
  .pg-lightbox img { max-height: 52dvh; }
  .pg-lightbox-prev, .pg-lightbox-next { top: 29dvh; }
  .pg-lightbox-meta, .pg-slide-info-grid, .pg-detail-below { grid-template-columns: 1fr; }
  .pg-slide-image { min-height: 54dvh; height: 54dvh; padding: 1rem 3.7rem; }
  .pg-slideshow-nav { top: 27dvh; }
  .pg-photo-navigation { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .pg-album-slideshow { width: 100vw; height: 100dvh; border-radius: 0; }
  .pg-slide-image { min-height: 48dvh; height: 48dvh; padding-inline: 3.3rem; }
  .pg-slideshow-nav { top: 24dvh; width: 2.75rem; height: 2.75rem; }
  .pg-lightbox-image-stage { min-height: 52dvh; padding-inline: 3.2rem; }
  .pg-lightbox img { max-height: 47dvh; }
  .pg-lightbox-prev, .pg-lightbox-next { top: 26dvh; width: 2.75rem; height: 2.75rem; }
  .pg-lightbox figcaption { padding: 1.35rem; }
  .pg-lightbox-meta > div, .pg-slide-panel dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .pg-share-row .btn { flex: 1 1 calc(50% - .5rem); }
  .pg-photo-nav-item, .pg-photo-nav-next { grid-template-columns: 4.5rem minmax(0, 1fr) auto; text-align: start; }
  .pg-photo-nav-next .pg-icon { order: 3; }
  .pg-photo-nav-item img { width: 4.5rem; height: 4.2rem; }
}

/* 1.0.13: album navigation, descendant covers and readable relation panels. */
.pg-back {
  margin: 0 0 1.5rem;
}

.pg-back a {
  min-height: 2.75rem;
  padding: .62rem 1rem;
  border: 1px solid color-mix(in srgb, var(--pg-primary) 28%, var(--pg-border));
  border-radius: 999px;
  color: var(--pg-primary) !important;
  background: color-mix(in srgb, var(--pg-primary) 7%, var(--pg-surface));
  box-shadow: 0 4px 14px rgb(0 0 0 / .055);
  font-weight: 700;
  line-height: 1.4;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.pg-back a:hover,
.pg-back a:focus-visible {
  color: #fff !important;
  background: var(--pg-primary);
  border-color: var(--pg-primary);
  box-shadow: 0 9px 22px color-mix(in srgb, var(--pg-primary) 24%, transparent);
  transform: translateY(-1px);
}

.pg-slide-maaveerar {
  width: 100%;
  margin: 1.25rem 0 0;
  border-top: 0;
}

.pg-slide-maaveerar a,
.pg-detail-maaveerar .pg-related-record,
.pg-lightbox .pg-lightbox-maaveerar a {
  color: var(--pg-primary) !important;
  font-weight: 650;
  text-decoration: none;
}

.pg-slide-maaveerar a:hover,
.pg-detail-maaveerar .pg-related-record:hover,
.pg-lightbox .pg-lightbox-maaveerar a:hover {
  color: var(--pg-primary-dark) !important;
  text-decoration: underline;
  text-underline-offset: .22em;
}

.pg-lightbox-maaveerar {
  width: 100%;
  margin: 1.25rem 0 0;
}

.pg-slide-info-grid {
  grid-template-columns: 1fr;
  margin-top: 1rem;
}

.pg-detail-maaveerar {
  grid-column: 1 / -1;
  width: 100%;
}
