/* Wrapper keeps trigger and dropdown in same positioned container */
#owner-photos-card {
  --photo-menu-drop-space: 88px;
}

#owner-photos-card .photo-menu-wrapper {
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  z-index: 10 !important;
}

#owner-photos-card .photo-menu-wrapper .menu-trigger {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  z-index: 4 !important;
  width: 35px !important;
  height: 35px !important;
  min-height: 35px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  pointer-events: auto !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

#owner-photos-card .menu-trigger:hover {
  background: rgba(15, 23, 42, 0.9) !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

#owner-photos-card .menu-trigger svg {
  width: 16px !important;
  height: 16px !important;
}

#owner-photos-card .photo-menu-dropdown {
  position: absolute !important;
  top: 43px !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  inset: unset !important;
  background: transparent !important;
  color: var(--rp-brand) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-width: auto !important;
  padding: 0 !important;
  z-index: 99999 !important;
  animation: photoMenuSlideDown 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: center !important;
}

@keyframes photoMenuSlideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#owner-photos-card .photo-menu-dropdown.hidden {
  display: none !important;
}

#owner-photos-card .row {
  /* Keep rows horizontal-only; prevents vertical scrollbar flash when menu opens */
  overflow-y: hidden !important;
  transition: padding-bottom 0.18s ease !important;
}

#owner-photos-card .row:has(.photo-menu-dropdown:not(.hidden)) {
  /* Expand row foreground so dropdown has room below without showing scrollbars */
  padding-bottom: calc(8px + var(--photo-menu-drop-space)) !important;
}

#owner-photos-card .row:has(.photo-menu-dropdown:not(.hidden)) {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

#owner-photos-card .card:has(.photo-menu-dropdown:not(.hidden)),
#owner-photos-card .card:has(.photo-menu-wrapper .photo-menu-dropdown:not(.hidden)) {
  overflow: visible !important;
}

#owner-photos-card .photo-menu-dropdown .ovc-menu-item {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  border-radius: 50% !important;
  background: rgba(31, 41, 55, 0.6) !important;
  border: 2px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 2px 6px rgba(255, 255, 255, 0.15) !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  color: #ffffff !important;
  cursor: pointer !important;
}

#owner-photos-card .photo-menu-dropdown .ovc-menu-item:hover {
  transform: scale(1.05) !important;
  background: rgba(17, 24, 39, 0.75) !important;
  box-shadow: 0 3px 10px rgba(255, 255, 255, 0.25) !important;
}

#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg {
  width: 20px !important;
  height: 20px !important;
}

#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg path,
#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg circle,
#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg rect,
#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg line,
#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg polygon,
#owner-photos-card .photo-menu-dropdown .ovc-menu-item svg polyline {
  fill: currentColor !important;
  stroke: currentColor !important;
}

#owner-photos-card .photo-menu-dropdown .ovc-menu-item span {
  display: none !important;
}

/* Mobile: match video row menu (28×28, 6px radius) */
@media (max-width: 768px) {
  #owner-photos-card {
    --photo-menu-drop-space: 120px;
  }
  #owner-photos-card .photo-menu-wrapper .menu-trigger {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    border-radius: 6px !important;
  }
  #owner-photos-card .menu-trigger svg {
    width: 14px !important;
    height: 14px !important;
  }
  #owner-photos-card .photo-menu-dropdown {
    top: 36px !important;
    gap: 4px !important;
  }
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    border-radius: 6px !important;
  }
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item svg,
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item[data-action="pin"] svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* Small phones: match video row (24×24) */
@media (max-width: 479px) {
  #owner-photos-card {
    --photo-menu-drop-space: 100px;
  }
  #owner-photos-card .photo-menu-wrapper .menu-trigger {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    border-radius: 6px !important;
  }
  #owner-photos-card .menu-trigger svg {
    width: 12px !important;
    height: 12px !important;
  }
  #owner-photos-card .photo-menu-dropdown {
    top: 32px !important;
  }
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    border-radius: 6px !important;
  }
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item svg,
  #owner-photos-card .photo-menu-dropdown .ovc-menu-item[data-action="pin"] svg {
    width: 12px !important;
    height: 12px !important;
  }
}
