/* v27: scoped enhancement of the existing services [top_gallery]. No font/global layout changes. */
.container-shortcode.tp26-gallery-wrap { box-sizing: border-box; min-width: 0; }
.tp26-gallery, .tp26-gallery * { box-sizing: border-box; }
.tp26-gallery ul.galery-group { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; width: 100%; min-width: 0; margin: 0 0 32px !important; padding: 0 !important; list-style: none; }
.tp26-gallery .galery-group > .galery-list { position: relative; display: block; width: 100%; min-width: 0; grid-column: span 2; margin: 0 !important; padding: 0 !important; list-style: none; border-radius: 20px; overflow: hidden; }
.tp26-gallery .galery-group > .galery-list:nth-child(1),
.tp26-gallery .galery-group > .galery-list:nth-child(2) { grid-column: span 3; }
.tp26-gallery .galery-group > .galery-list::before,
.tp26-gallery .galery-group > .galery-list::after { content: none !important; display: none !important; }
.tp26-gallery .tp26-gallery-open { position: relative; display: block; width: 100%; border: 0; padding: 0; border-radius: inherit; overflow: hidden; background: #f2f3f5; color: inherit; text-decoration: none !important; cursor: zoom-in; }
.tp26-gallery .tp26-gallery-open > img { display: block; width: 100% !important; max-width: 100% !important; height: 400px !important; max-height: none !important; margin: 0 !important; border-radius: inherit; object-fit: cover; object-position: center; }
.tp26-gallery .galery-list__info { pointer-events: none; overflow-wrap: anywhere; }
.tp26-gallery .tp26-gallery-open:focus-visible { outline: 3px solid #006eff; outline-offset: -4px; }
.tp26-gallery button.tp26-gallery-more { display: block; width: auto; min-height: 44px; max-width: 100%; padding: 10px 20px; margin: 0 auto; color: #282828; background: transparent; background-image: none; border: 0; box-shadow: none; font: 500 16px/1.45 var(--tp-font, Arial, sans-serif); text-transform: none; cursor: pointer; }
.tp26-gallery button.tp26-gallery-more:hover { text-decoration: underline; }
.tp26-gallery button.tp26-gallery-more:focus-visible { outline: 3px solid #006eff; outline-offset: 2px; }
.tp26-gallery .tp26-gallery-status { margin: 8px 0 0; text-align: center; color: #666; font-size: 13px; line-height: 1.5; }
.tp26-gallery [hidden], dialog.tp26-lightbox [hidden] { display: none !important; }
.tp26-gallery template { display: none !important; }
/* Native dialog occupies the top layer, above fixed header/chat elements. */
html.tp26-gallery-modal-open, body.tp26-gallery-modal-open { overflow: hidden !important; }
dialog.tp26-lightbox { position: fixed !important; inset: 0 !important; width: 100% !important; max-width: 100vw !important; height: 100vh !important; height: 100dvh !important; max-height: 100vh !important; max-height: 100dvh !important; margin: 0 !important; padding: 68px 80px 24px !important; border: 0 !important; border-radius: 0 !important; background: rgba(10,14,21,.97) !important; color: #fff !important; overflow: hidden !important; box-sizing: border-box !important; font-family: var(--tp-font, Arial, sans-serif); }
dialog.tp26-lightbox, dialog.tp26-lightbox * { box-sizing: border-box; }
dialog.tp26-lightbox:not([open]) { display: none !important; }
dialog.tp26-lightbox[open] { display: flex !important; flex-direction: column; }
dialog.tp26-lightbox::backdrop { background: rgba(10,14,21,.95); }
.tp26-lightbox .tp26-lightbox__top { position: absolute; inset: 14px 18px auto 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tp26-lightbox .tp26-lightbox__count { color: #fff !important; font-size: 15px; line-height: 1.4; }
.tp26-lightbox .tp26-lightbox__stage { position: relative; display: flex; flex: 1 1 0; align-items: center; justify-content: center; min-width: 0; min-height: 0; width: 100%; overflow: hidden; touch-action: pan-y pinch-zoom; }
.tp26-lightbox img.tp26-lightbox__image { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: 100% !important; max-height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; object-fit: contain !important; object-position: center !important; }
.tp26-lightbox p.tp26-lightbox__caption { flex: 0 0 auto; margin: 16px 0 0 !important; width: 100%; max-height: 20vh; overflow: auto; color: #fff !important; font-size: 15px; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.tp26-lightbox p.tp26-lightbox__message { color: #fff !important; max-width: 100%; font-size: 14px; line-height: 1.6; text-align: center; margin: 0 !important; overflow-wrap: anywhere; }
.tp26-lightbox .tp26-lightbox__message a { color: #9fcaff !important; text-decoration: underline; }
.tp26-lightbox button.tp26-lightbox__control { display: grid; place-items: center; flex: 0 0 auto; width: 48px; min-width: 48px; max-width: 48px; height: 48px; min-height: 48px; padding: 0 !important; margin: 0 !important; background: #006eff; color: #fff !important; border: 2px solid rgba(255,255,255,.5) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer; appearance: none; }
.tp26-lightbox button.tp26-lightbox__control svg { display: block; width: 24px; height: 24px; max-width: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.tp26-lightbox button.tp26-lightbox__control::before,
.tp26-lightbox button.tp26-lightbox__control::after { content: none !important; display: none !important; }
.tp26-lightbox button.tp26-lightbox__control:hover:not(:disabled) { background: #0059d2; }
.tp26-lightbox button.tp26-lightbox__control:disabled { background: #42516a; color: #b9c5d8 !important; opacity: .7; cursor: default; }
.tp26-lightbox button.tp26-lightbox__control:focus-visible { outline: 3px solid #9fcaff; outline-offset: 3px; }
.tp26-lightbox .tp26-lightbox__prev { position: absolute; left: 16px; top: calc(50% - 24px); }
.tp26-lightbox .tp26-lightbox__next { position: absolute; right: 16px; top: calc(50% - 24px); }
@media (max-width: 1024px) {
  .tp26-gallery ul.galery-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 15px; }
  .tp26-gallery .galery-group > .galery-list:nth-child(n) { grid-column: span 1; }
  .tp26-gallery .tp26-gallery-open > img { height: 260px !important; }
}
@media (max-width: 600px) {
  .tp26-gallery ul.galery-group { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .tp26-gallery .tp26-gallery-open > img { height: 200px !important; }
  .tp26-gallery button.tp26-gallery-more { font-size: 14px; }
  dialog.tp26-lightbox { padding: max(70px, env(safe-area-inset-top)) 12px max(84px, calc(72px + env(safe-area-inset-bottom))) !important; }
  .tp26-lightbox .tp26-lightbox__top { inset: 12px 12px auto 16px; }
  .tp26-lightbox .tp26-lightbox__prev { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); left: calc(50% - 60px); }
  .tp26-lightbox .tp26-lightbox__next { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); right: calc(50% - 60px); }
  .tp26-lightbox p.tp26-lightbox__caption { margin-top: 12px !important; font-size: 13px; }
}

/* v27: only enhanced legacy/photo galleries; never hide regular product links. */
.tp26-gallery .galery-list[data-tp27-hidden],
.tp27-card-gallery .front-card[data-tp27-hidden],
.tp27-card-gallery [data-tp26-more][hidden] { display: none !important; }
.tp26-gallery .galery-list__overlay,
.tp27-card-gallery [data-tp26-image] .front-card__overlay { pointer-events: none; }
.tp26-gallery .galery-list:not([data-tp27-hidden]) { display: block; }
.tp26-gallery .tp26-gallery-open { float: none; inset: auto; }
.tp27-card-gallery [data-tp26-image] { cursor: zoom-in; }
.tp27-card-gallery [data-tp26-image]:focus-visible { outline: 3px solid #006eff; outline-offset: 3px; }
.tp27-card-gallery [data-tp26-more] { cursor: pointer; }
.tp27-card-gallery .tp26-gallery-status { margin: 12px 0; text-align: center; color: #666; font-size: 13px; line-height: 1.5; }

dialog.tp26-lightbox img.tp26-lightbox__image[hidden], dialog.tp26-lightbox .tp26-lightbox__message[hidden], dialog.tp26-lightbox .tp26-lightbox__caption[hidden] { display: none !important; }
