/* Opelmec: zoom de la destacada en el detalle de obras */
.single-portfolio .op-obra-destacada .vc_single_image-wrapper {
  display: inline-block;
  overflow: hidden;
  transform: translateZ(0);
}
.single-portfolio .op-obra-destacada .vc_single_image-wrapper img {
  transition: transform .3s ease-out, opacity .35s;
  backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .single-portfolio .op-obra-destacada .vc_single_image-wrapper:hover img {
    transform: scale(1.2);
    transition: transform .25s ease-out, opacity .25s ease-out;
  }
}
.single-portfolio .op-obra-destacada .vc_single_image-wrapper:focus-visible img {
  transform: scale(1.2);
}
/* Opelmec: miniaturas cuadradas; originales completos en el visor */
.single-portfolio article.project-post .gallery-shortcode a.dt-pswp-item {
  display: block;
  position: relative;
  width: 100% !important;
  height: auto !important;
  padding-bottom: 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.single-portfolio article.project-post .gallery-shortcode a.dt-pswp-item > img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  --ratio: 1 / 1 !important;
}
.single-portfolio .op-obra-destacada .op-obra-abrir-galeria { position: relative; }
.single-portfolio .op-obra-destacada .gallery-rollover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .35s;
}
.single-portfolio .op-obra-destacada .op-obra-abrir-galeria:hover .gallery-rollover,
.single-portfolio .op-obra-destacada .op-obra-abrir-galeria:focus-visible .gallery-rollover { opacity: 1; }
.single-portfolio .op-obra-destacada .gallery-zoom-ico {
  position: absolute; top: 50%; left: 50%;
  width: 44px; height: 44px; margin: -22px 0 0 -22px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
}
.single-portfolio .op-obra-destacada .gallery-zoom-ico::before { font-size: 32px; }
/* Opelmec: indicador del desplegable de cada obra en el mapa */
#opelmec-map-preview .op-work summary {
  display: inline-flex; align-items: center; gap: 9px; list-style: none; cursor: pointer;
}
#opelmec-map-preview .op-work summary::-webkit-details-marker { display: none; }
#opelmec-map-preview .op-work summary::after {
  content: ""; display: inline-block; width: 7px; height: 7px;
  border-right: 2px solid #19608a; border-bottom: 2px solid #19608a;
  transform: rotate(45deg); flex: 0 0 7px; margin-top: -4px;
  transition: transform .2s ease;
}
#opelmec-map-preview .op-work details[open] summary::after {
  transform: rotate(225deg); margin-top: 4px;
}
@media (prefers-reduced-motion: reduce) {
  #opelmec-map-preview .op-work summary::after { transition: none; }
}